|
ProcessesSelf includes a multi-tasking capability, in the form of multiple threads within a single Self program. Each thread is a copy of process.The easiest way to create a process programmatically is by sending fork to a message object:
(message copy receiver: 100 Selector: 'factorial') fork Every computation started from an evaluator runs in its own process. The user interface has several processes of its own. In Self 4.0, each process's stack is of fixed-size, allocated when the process starts. These are useful messages to a process:
abort "kill the process" suspend "suspend until resumed" resume waitForSuspension "returns when the process suspends" waitForDeath "returns when the process dies" returnValue "the return value of a completed process" this "the currently executing process" |