Ruby · Avançado · Inglês · Técnico
Fiber scheduler
Interface do Ruby 3.0 que deixa uma biblioteca, como a gem Async, agendar Fibers sem bloquear a thread: I/O e sleep cedem o controle a outras fibers.
Onde usar
Aparece em concorrência cooperativa de I/O, com a gem async. Serve a programas com muitas conexões simultâneas sem uma thread para cada uma.
Em código
require "async"
Async do |t|
2.times do |i|
t.async { sleep 1; puts "tarefa #{i}" }
end
end # as duas terminam em ~1sExemplos
The fiber scheduler lets sleep yield to other fibers.
O fiber scheduler deixa o sleep ceder a vez a outras fibers.
Ruby only ships the interface, not a scheduler.
O Ruby só traz a interface, não um scheduler.
Cuidado
O Ruby traz só a interface, não um scheduler pronto: é preciso uma implementação, como a gem async. Código de CPU intensiva não ganha nada.
Sinônimos
agendador de fibers