forked from Mirror/wren
Add docs for Scheduler class (#902)
I think it's time we had a go at this.
This commit is contained in:
@ -1,7 +1,27 @@
|
||||
^title Scheduler Class
|
||||
|
||||
**TODO**
|
||||
The Scheduler class maintains a list of fibers, to be started one after the other, when a signal to do so is received. The signal (a private method call) is typically transmitted by _long running_ methods in the File or Timer classes which suspend the current fiber so that Wren can carry out other tasks in the meantime.
|
||||
|
||||
## Methods
|
||||
## Static Method
|
||||
|
||||
**TODO**
|
||||
### Scheduler.**add**(callable)
|
||||
|
||||
Adds a new fiber to the scheduler's fibers list. This fiber calls `callable` and then transfers to the next fiber in the list, if there is one.
|
||||
|
||||
`callable` is a function or other object which has a call() method.
|
||||
|
||||
<pre class="snippet">
|
||||
var a = 3
|
||||
|
||||
Scheduler.add {
|
||||
a = a * a
|
||||
}
|
||||
|
||||
Scheduler.add {
|
||||
a = a + 1
|
||||
}
|
||||
|
||||
System.print(a) // still 3
|
||||
Timer.sleep(3000) // wait 3 seconds
|
||||
System.print(a) // now 3 * 3 + 1 = 10
|
||||
</pre>
|
||||
|
||||
Reference in New Issue
Block a user