Add module for Scheduler.
Also reorganizes some code to make it easier to add more modules.
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
import "scheduler" for Scheduler
|
||||
import "timer" for Timer
|
||||
|
||||
var run = false
|
||||
Scheduler.add {
|
||||
run = true
|
||||
}
|
||||
|
||||
// Does not run immediately.
|
||||
IO.print(run) // expect: false
|
||||
|
||||
Timer.sleep(0)
|
||||
|
||||
// Runs when the main fiber suspends on IO.
|
||||
IO.print(run) // expect: true
|
||||
@@ -1,11 +1,12 @@
|
||||
import "scheduler" for Scheduler
|
||||
import "timer" for Timer
|
||||
|
||||
Timer.schedule {
|
||||
Scheduler.add {
|
||||
Timer.sleep(2)
|
||||
IO.print("a")
|
||||
}
|
||||
|
||||
Timer.schedule {
|
||||
Scheduler.add {
|
||||
Timer.sleep(1)
|
||||
IO.print("b")
|
||||
}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import "scheduler" for Scheduler
|
||||
import "timer" for Timer
|
||||
|
||||
// These are both rounded to 1, so "a" should complete first.
|
||||
Timer.schedule {
|
||||
Scheduler.add {
|
||||
Timer.sleep(1.5)
|
||||
IO.print("a")
|
||||
}
|
||||
|
||||
Timer.schedule {
|
||||
Scheduler.add {
|
||||
Timer.sleep(1.3)
|
||||
IO.print("b")
|
||||
}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import "scheduler" for Scheduler
|
||||
import "timer" for Timer
|
||||
|
||||
Timer.schedule {
|
||||
Scheduler.add {
|
||||
IO.print("a before")
|
||||
Timer.sleep(0)
|
||||
IO.print("a after")
|
||||
}
|
||||
|
||||
Timer.schedule {
|
||||
Scheduler.add {
|
||||
IO.print("b before")
|
||||
Timer.sleep(0)
|
||||
IO.print("b after")
|
||||
|
||||
Reference in New Issue
Block a user