This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
api:thread [2017/09/07 19:25] payonel [Thread API] |
api:thread [2017/09/07 19:30] payonel [Thread Handle API] |
||
---|---|---|---|
Line 133: | Line 133: | ||
Suspends (or freezes) a running thread. Returns success and an error message on failure. A "suspended" thread never autonomously wakes up and dies as soon as its parent process (if attached) closes. A suspended thread ignores events. That means any event listeners or timers created inside the thread will not respond to event notifications. Note that threads do not buffer event signals and a suspended thread may miss event signals it was waiting for. For example, if a thread was last waiting on `event.pull("modem_message")` and is "suspended" and a "modem_message" is received by the computer then the thread will miss the event and never know it happened. Please note that if you suspend a thread that is blocked waiting for an event, it is unspecified which event the thread will receive when it is next resumed. | Suspends (or freezes) a running thread. Returns success and an error message on failure. A "suspended" thread never autonomously wakes up and dies as soon as its parent process (if attached) closes. A suspended thread ignores events. That means any event listeners or timers created inside the thread will not respond to event notifications. Note that threads do not buffer event signals and a suspended thread may miss event signals it was waiting for. For example, if a thread was last waiting on `event.pull("modem_message")` and is "suspended" and a "modem_message" is received by the computer then the thread will miss the event and never know it happened. Please note that if you suspend a thread that is blocked waiting for an event, it is unspecified which event the thread will receive when it is next resumed. | ||
+ | | ||
+ | Suspending the current thread causes the thread to immediately yield and does not resume until `t:resume()` is called explicitly elsewhere. | ||
**Special notes about `t:resume`, `t:suspend`** | **Special notes about `t:resume`, `t:suspend`** |