1\paragraph{}
2\label{THREADS:CURRENT-THREAD}
3\index{CURRENT-THREAD}
4--- Function: \textbf{current-thread} [\textbf{threads}] \textit{}
5
6\begin{adjustwidth}{5em}{5em}
7Returns a reference to invoking thread.
8\end{adjustwidth}
9
10\paragraph{}
11\label{THREADS:DESTROY-THREAD}
12\index{DESTROY-THREAD}
13--- Function: \textbf{destroy-thread} [\textbf{threads}] \textit{}
14
15\begin{adjustwidth}{5em}{5em}
16not-documented
17\end{adjustwidth}
18
19\paragraph{}
20\label{THREADS:GET-MUTEX}
21\index{GET-MUTEX}
22--- Function: \textbf{get-mutex} [\textbf{threads}] \textit{mutex}
23
24\begin{adjustwidth}{5em}{5em}
25Acquires the lock associated with the MUTEX
26\end{adjustwidth}
27
28\paragraph{}
29\label{THREADS:INTERRUPT-THREAD}
30\index{INTERRUPT-THREAD}
31--- Function: \textbf{interrupt-thread} [\textbf{threads}] \textit{thread function \&rest args}
32
33\begin{adjustwidth}{5em}{5em}
34Interrupts THREAD and forces it to apply FUNCTION to ARGS.
35When the function returns, the thread's original computation continues. If  multiple interrupts are queued for a thread, they are all run, but the order is not guaranteed.
36\end{adjustwidth}
37
38\paragraph{}
39\label{THREADS:MAILBOX-EMPTY-P}
40\index{MAILBOX-EMPTY-P}
41--- Function: \textbf{mailbox-empty-p} [\textbf{threads}] \textit{mailbox}
42
43\begin{adjustwidth}{5em}{5em}
44Returns non-NIL if the mailbox can be read from, NIL otherwise.
45\end{adjustwidth}
46
47\paragraph{}
48\label{THREADS:MAILBOX-PEEK}
49\index{MAILBOX-PEEK}
50--- Function: \textbf{mailbox-peek} [\textbf{threads}] \textit{mailbox}
51
52\begin{adjustwidth}{5em}{5em}
53Returns two values. The second returns non-NIL when the mailbox
54is empty. The first is the next item to be read from the mailbox.
55
56Note that due to multi-threading, the first value returned upon
57peek, may be different from the one returned upon next read in the
58calling thread.
59\end{adjustwidth}
60
61\paragraph{}
62\label{THREADS:MAILBOX-READ}
63\index{MAILBOX-READ}
64--- Function: \textbf{mailbox-read} [\textbf{threads}] \textit{mailbox}
65
66\begin{adjustwidth}{5em}{5em}
67Blocks on the mailbox until an item is available for reading.
68When an item is available, it is returned.
69\end{adjustwidth}
70
71\paragraph{}
72\label{THREADS:MAILBOX-SEND}
73\index{MAILBOX-SEND}
74--- Function: \textbf{mailbox-send} [\textbf{threads}] \textit{mailbox item}
75
76\begin{adjustwidth}{5em}{5em}
77Sends an item into the mailbox, notifying 1 waiter
78to wake up for retrieval of that object.
79\end{adjustwidth}
80
81\paragraph{}
82\label{THREADS:MAKE-MAILBOX}
83\index{MAKE-MAILBOX}
84--- Function: \textbf{make-mailbox} [\textbf{threads}] \textit{\&key ((queue g305040) NIL)}
85
86\begin{adjustwidth}{5em}{5em}
87not-documented
88\end{adjustwidth}
89
90\paragraph{}
91\label{THREADS:MAKE-MUTEX}
92\index{MAKE-MUTEX}
93--- Function: \textbf{make-mutex} [\textbf{threads}] \textit{\&key ((in-use g305303) NIL)}
94
95\begin{adjustwidth}{5em}{5em}
96not-documented
97\end{adjustwidth}
98
99\paragraph{}
100\label{THREADS:MAKE-THREAD}
101\index{MAKE-THREAD}
102--- Function: \textbf{make-thread} [\textbf{threads}] \textit{function \&key name}
103
104\begin{adjustwidth}{5em}{5em}
105not-documented
106\end{adjustwidth}
107
108\paragraph{}
109\label{THREADS:MAKE-THREAD-LOCK}
110\index{MAKE-THREAD-LOCK}
111--- Function: \textbf{make-thread-lock} [\textbf{threads}] \textit{}
112
113\begin{adjustwidth}{5em}{5em}
114Returns an object to be used with the WITH-THREAD-LOCK macro.
115\end{adjustwidth}
116
117\paragraph{}
118\label{THREADS:MAPCAR-THREADS}
119\index{MAPCAR-THREADS}
120--- Function: \textbf{mapcar-threads} [\textbf{threads}] \textit{}
121
122\begin{adjustwidth}{5em}{5em}
123not-documented
124\end{adjustwidth}
125
126\paragraph{}
127\label{THREADS:OBJECT-NOTIFY}
128\index{OBJECT-NOTIFY}
129--- Function: \textbf{object-notify} [\textbf{threads}] \textit{object}
130
131\begin{adjustwidth}{5em}{5em}
132Wakes up a single thread that is waiting on OBJECT's monitor.
133If any threads are waiting on this object, one of them is chosen to be awakened. The choice is arbitrary and occurs at the discretion of the implementation. A thread waits on an object's monitor by calling one of the wait methods.
134\end{adjustwidth}
135
136\paragraph{}
137\label{THREADS:OBJECT-NOTIFY-ALL}
138\index{OBJECT-NOTIFY-ALL}
139--- Function: \textbf{object-notify-all} [\textbf{threads}] \textit{object}
140
141\begin{adjustwidth}{5em}{5em}
142Wakes up all threads that are waiting on this OBJECT's monitor.
143A thread waits on an object's monitor by calling one of the wait methods.
144\end{adjustwidth}
145
146\paragraph{}
147\label{THREADS:OBJECT-WAIT}
148\index{OBJECT-WAIT}
149--- Function: \textbf{object-wait} [\textbf{threads}] \textit{object \&optional timeout}
150
151\begin{adjustwidth}{5em}{5em}
152Causes the current thread to block until object-notify or object-notify-all is called on OBJECT.
153Optionally unblock execution after TIMEOUT seconds.  A TIMEOUT of zero
154means to wait indefinitely.
155A non-zero TIMEOUT of less than a nanosecond is interpolated as a nanosecond wait.
156See the documentation of java.lang.Object.wait() for further
157information.
158
159\end{adjustwidth}
160
161\paragraph{}
162\label{THREADS:RELEASE-MUTEX}
163\index{RELEASE-MUTEX}
164--- Function: \textbf{release-mutex} [\textbf{threads}] \textit{mutex}
165
166\begin{adjustwidth}{5em}{5em}
167Releases a lock associated with MUTEX
168\end{adjustwidth}
169
170\paragraph{}
171\label{THREADS:SYNCHRONIZED-ON}
172\index{SYNCHRONIZED-ON}
173--- Special Operator: \textbf{synchronized-on} [\textbf{threads}] \textit{}
174
175\begin{adjustwidth}{5em}{5em}
176not-documented
177\end{adjustwidth}
178
179\paragraph{}
180\label{THREADS:THREAD}
181\index{THREAD}
182--- Class: \textbf{thread} [\textbf{threads}] \textit{}
183
184\begin{adjustwidth}{5em}{5em}
185not-documented
186\end{adjustwidth}
187
188\paragraph{}
189\label{THREADS:THREAD-ALIVE-P}
190\index{THREAD-ALIVE-P}
191--- Function: \textbf{thread-alive-p} [\textbf{threads}] \textit{thread}
192
193\begin{adjustwidth}{5em}{5em}
194Boolean predicate whether THREAD is alive.
195\end{adjustwidth}
196
197\paragraph{}
198\label{THREADS:THREAD-JOIN}
199\index{THREAD-JOIN}
200--- Function: \textbf{thread-join} [\textbf{threads}] \textit{thread}
201
202\begin{adjustwidth}{5em}{5em}
203Waits for THREAD to die before resuming execution
204Returns the result of the joined thread as its primary value.
205Returns T if the joined thread finishes normally or NIL if it was interrupted.
206\end{adjustwidth}
207
208\paragraph{}
209\label{THREADS:THREAD-NAME}
210\index{THREAD-NAME}
211--- Function: \textbf{thread-name} [\textbf{threads}] \textit{}
212
213\begin{adjustwidth}{5em}{5em}
214not-documented
215\end{adjustwidth}
216
217\paragraph{}
218\label{THREADS:THREADP}
219\index{THREADP}
220--- Function: \textbf{threadp} [\textbf{threads}] \textit{}
221
222\begin{adjustwidth}{5em}{5em}
223not-documented
224\end{adjustwidth}
225
226\paragraph{}
227\label{THREADS:WITH-MUTEX}
228\index{WITH-MUTEX}
229--- Macro: \textbf{with-mutex} [\textbf{threads}] \textit{}
230
231\begin{adjustwidth}{5em}{5em}
232Acquires a lock on MUTEX, executes BODY, and then releases the lock
233\end{adjustwidth}
234
235\paragraph{}
236\label{THREADS:WITH-THREAD-LOCK}
237\index{WITH-THREAD-LOCK}
238--- Macro: \textbf{with-thread-lock} [\textbf{threads}] \textit{}
239
240\begin{adjustwidth}{5em}{5em}
241Acquires the LOCK, executes BODY and releases the LOCK
242\end{adjustwidth}
243
244\paragraph{}
245\label{THREADS:YIELD}
246\index{YIELD}
247--- Function: \textbf{yield} [\textbf{threads}] \textit{}
248
249\begin{adjustwidth}{5em}{5em}
250A hint to the scheduler that the current thread is willing to yield its current use of a processor. The scheduler is free to ignore this hint.
251
252See java.lang.Thread.yield().
253\end{adjustwidth}
254
255