Rename Fiber{}
to Fiber.schedule{}
.
This commit is contained in:
parent
d387029f39
commit
132453fa52
Notes:
git
2020-09-14 13:44:38 +09:00
3
cont.c
3
cont.c
@ -2554,7 +2554,8 @@ Init_Cont(void)
|
|||||||
rb_define_method(rb_cFiber, "to_s", fiber_to_s, 0);
|
rb_define_method(rb_cFiber, "to_s", fiber_to_s, 0);
|
||||||
rb_define_alias(rb_cFiber, "inspect", "to_s");
|
rb_define_alias(rb_cFiber, "inspect", "to_s");
|
||||||
|
|
||||||
rb_define_global_function("Fiber", rb_f_fiber, -1);
|
rb_define_singleton_method(rb_cFiber, "schedule", rb_f_fiber, -1);
|
||||||
|
//rb_define_global_function("Fiber", rb_f_fiber, -1);
|
||||||
|
|
||||||
#ifdef RB_EXPERIMENTAL_FIBER_POOL
|
#ifdef RB_EXPERIMENTAL_FIBER_POOL
|
||||||
rb_cFiberPool = rb_define_class("Pool", rb_cFiber);
|
rb_cFiberPool = rb_define_class("Pool", rb_cFiber);
|
||||||
|
@ -101,7 +101,7 @@ context switching points.
|
|||||||
We also introduce a new method which simplifies the creation of these
|
We also introduce a new method which simplifies the creation of these
|
||||||
non-blocking fibers:
|
non-blocking fibers:
|
||||||
|
|
||||||
Fiber do
|
Fiber.schedule do
|
||||||
puts Fiber.current.blocking? # false
|
puts Fiber.current.blocking? # false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -24,12 +24,12 @@ class TestFiberEnumerator < Test::Unit::TestCase
|
|||||||
|
|
||||||
e = i.to_enum(:each_char)
|
e = i.to_enum(:each_char)
|
||||||
|
|
||||||
Fiber do
|
Fiber.schedule do
|
||||||
o.write("Hello World")
|
o.write("Hello World")
|
||||||
o.close
|
o.close
|
||||||
end
|
end
|
||||||
|
|
||||||
Fiber do
|
Fiber.schedule do
|
||||||
begin
|
begin
|
||||||
while c = e.next
|
while c = e.next
|
||||||
message << c
|
message << c
|
||||||
|
@ -22,12 +22,12 @@ class TestFiberIO < Test::Unit::TestCase
|
|||||||
scheduler = Scheduler.new
|
scheduler = Scheduler.new
|
||||||
Thread.current.scheduler = scheduler
|
Thread.current.scheduler = scheduler
|
||||||
|
|
||||||
Fiber do
|
Fiber.schedule do
|
||||||
message = i.read(20)
|
message = i.read(20)
|
||||||
i.close
|
i.close
|
||||||
end
|
end
|
||||||
|
|
||||||
Fiber do
|
Fiber.schedule do
|
||||||
o.write("Hello World")
|
o.write("Hello World")
|
||||||
o.close
|
o.close
|
||||||
end
|
end
|
||||||
@ -50,12 +50,12 @@ class TestFiberIO < Test::Unit::TestCase
|
|||||||
scheduler = Scheduler.new
|
scheduler = Scheduler.new
|
||||||
Thread.current.scheduler = scheduler
|
Thread.current.scheduler = scheduler
|
||||||
|
|
||||||
Fiber do
|
Fiber.schedule do
|
||||||
i.read(20)
|
i.read(20)
|
||||||
i.close
|
i.close
|
||||||
end
|
end
|
||||||
|
|
||||||
Fiber do
|
Fiber.schedule do
|
||||||
o.write("Hello World")
|
o.write("Hello World")
|
||||||
o.close
|
o.close
|
||||||
end
|
end
|
||||||
|
@ -10,7 +10,7 @@ class TestFiberMutex < Test::Unit::TestCase
|
|||||||
scheduler = Scheduler.new
|
scheduler = Scheduler.new
|
||||||
Thread.current.scheduler = scheduler
|
Thread.current.scheduler = scheduler
|
||||||
|
|
||||||
Fiber do
|
Fiber.schedule do
|
||||||
assert_equal Thread.scheduler, scheduler
|
assert_equal Thread.scheduler, scheduler
|
||||||
|
|
||||||
mutex.synchronize do
|
mutex.synchronize do
|
||||||
@ -29,7 +29,7 @@ class TestFiberMutex < Test::Unit::TestCase
|
|||||||
scheduler = Scheduler.new
|
scheduler = Scheduler.new
|
||||||
Thread.current.scheduler = scheduler
|
Thread.current.scheduler = scheduler
|
||||||
|
|
||||||
Fiber do
|
Fiber.schedule do
|
||||||
assert_equal Thread.scheduler, scheduler
|
assert_equal Thread.scheduler, scheduler
|
||||||
|
|
||||||
mutex.synchronize do
|
mutex.synchronize do
|
||||||
|
@ -6,7 +6,7 @@ class TestFiberScheduler < Test::Unit::TestCase
|
|||||||
def test_fiber_without_scheduler
|
def test_fiber_without_scheduler
|
||||||
# Cannot create fiber without scheduler.
|
# Cannot create fiber without scheduler.
|
||||||
assert_raise RuntimeError do
|
assert_raise RuntimeError do
|
||||||
Fiber do
|
Fiber.schedule do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -13,7 +13,7 @@ class TestFiberSleep < Test::Unit::TestCase
|
|||||||
Thread.current.scheduler = scheduler
|
Thread.current.scheduler = scheduler
|
||||||
|
|
||||||
5.times do |i|
|
5.times do |i|
|
||||||
Fiber do
|
Fiber.schedule do
|
||||||
assert_operator sleep(i/100.0), :>=, 0
|
assert_operator sleep(i/100.0), :>=, 0
|
||||||
items << i
|
items << i
|
||||||
end
|
end
|
||||||
@ -34,7 +34,7 @@ class TestFiberSleep < Test::Unit::TestCase
|
|||||||
thread = Thread.new do
|
thread = Thread.new do
|
||||||
scheduler = Scheduler.new
|
scheduler = Scheduler.new
|
||||||
Thread.current.scheduler = scheduler
|
Thread.current.scheduler = scheduler
|
||||||
Fiber do
|
Fiber.schedule do
|
||||||
seconds = sleep(2)
|
seconds = sleep(2)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user