4.3 Cooperative Threads
To use cooperative threads, create a threading context with
call-in-main-thread, and perform thread operations—
procedure
(call-in-main-thread thunk) → any/c
thunk : (-> any/c)
procedure
thunk : (-> any/c)
procedure
v : any/c
procedure
procedure
v : any/c
procedure
(channel-put ch v) → channel?
ch : channel? v : any/c
procedure
(channel-get ch) → any/c
ch : channel?
procedure
(channel-try-get ch) → any/c
ch : channel?
Except for thread? and channel?, these procedures can be used only in a threading context. A channel can be used only in the threading context where it was created.
Beware that attempting to use these operations outside of a threading context will not necessarily trigger an error, and may instead deliver an opaque threading request to the enclosing continuation prompt.
Changed in version 1.4: Added channel-try-get.
procedure
(thread-process-wait process ...) → handle?
process : handle?