mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-11 22:28:45 +01:00
Add module for Scheduler.
Also reorganizes some code to make it easier to add more modules.
This commit is contained in:
15
test/scheduler/add.wren
Normal file
15
test/scheduler/add.wren
Normal file
@ -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