Sha256: 868824cd5ea08335208643f91bb7caa39d4f72b14620971ac25f4c57b53c1ac8
Contents?: true
Size: 440 Bytes
Versions: 79
Compression:
Stored size: 440 Bytes
Contents
# frozen_string_literal: true require 'bundler/setup' require 'polyphony' def do_work(client) result = yield client << result rescue Exception => e client << e end $worker = Thread.new do Fiber.current.tag = :worker loop do (client, block) = receive do_work(client, &block) end end def process(&block) $worker.main_fiber << [Fiber.current, block] receive end sleep 0.1 p process { 1 + 1 } p process { 42 ** 2 }
Version data entries
79 entries across 79 versions & 1 rubygems