Sha256: bd7e4f4fbb978a08e121972e736fe810b2078ccb520f0282f49fc01fc535542a
Contents?: true
Size: 565 Bytes
Versions: 125
Compression:
Stored size: 565 Bytes
Contents
module Dataflow class FutureQueue include Dataflow declare :push_port, :pop_port def initialize local do |pushed, popped| unify push_port, Dataflow::Port.new(pushed) unify pop_port, Dataflow::Port.new(popped) Thread.new { loop do barrier pushed.head, popped.head unify popped.head, pushed.head pushed, popped = pushed.tail, popped.tail end } end end def push(x) push_port.send x end def pop(x) pop_port.send x end end end
Version data entries
125 entries across 125 versions & 3 rubygems