
Fiber::isTerminated은 Fiber가 종료되었는지 확인하는 메소드입니다. Fiber가 종료되는 조건은 두 가지입니다.
1. Fiber::resume가 호출되지 않으면 Fiber는 종료됩니다. 이 경우 Fiber::isTerminated은 true가 됩니다.
2. Fiber::exit이 호출되면 Fiber는 종료됩니다. 이 경우 Fiber::isTerminated은 true가 됩니다.
Fiber::yield는 Fiber의 실행을 일시적으로 중단합니다. Fiber::isTerminated은 false가 됩니다. Fiber::yield를 호출한 후 Fiber::resume를 호출해야만 Fiber의 실행이 다시 시작됩니다.
Fiber::exit는 Fiber를 종료합니다. Fiber::isTerminated은 true가 됩니다.
예제를 통해 이해를 돕겠습니다.
#hostingforum.kr
ruby
fiber = Fiber.new do
Fiber.yield
puts "Fiber 종료"
end
puts Fiber::isTerminated(fiber) # false
fiber.resume
puts Fiber::isTerminated(fiber) # false
fiber.exit
puts Fiber::isTerminated(fiber) # true
위 예제에서 Fiber::isTerminated이 false인 경우는 Fiber::yield를 호출한 후 Fiber::resume를 호출하지 않은 경우입니다. Fiber::isTerminated이 true인 경우는 Fiber::exit를 호출한 경우입니다.
2025-04-03 01:25