/* creates and starts a new thread, sending the action to the target;
Actions should take one argument and yield none;
Target and argument are retained during the execution of the detached thread, then released;
If this is the first time a new thread is created (by this method), an anonymous event {eventName = "NSBecomingMultiThreaded"} is sent, to let modules protect access with locks. */
+ (BOOL)isMultiThreaded;
/* Returns YES if a thread was ever detached (that thread may have died since!) */
- (NSMutableDictionary *)threadDictionary;
/* data specific to the receiving thread. May only be accessed outside that thread before the thread is forked */
- (void)exit;
/* Terminates the receiving thread. Same effect as returning from the initial message. (initially restricted to be sent only from within the exiting thread).
Before exiting that thread, posts the event {eventName = "NSThreadExiting", sender = thread} */