#476: GCD Groups should be a wrapper around dispatch, not its own invocation style ----------------------------------------+----------------------------------- Reporter: ernest.prabha...@… | Owner: lsansone...@… Type: enhancement | Status: new Priority: blocker | Milestone: MacRuby 0.5 Component: MacRuby | Keywords: gcd ----------------------------------------+-----------------------------------
Comment(by conra...@…): Here's a better representation and it's associated usage: API: {{{ module Dispatch # constants... TIME_FOREVER = 1 class Queue def initialize( label, attribute = nil ) @label = label @attribute = attribute end def dispatch_async( &block ) end def dispatch_sync( &block ) end def dispatch_apply( iterations, &block ) end end class Group def dispatch_async( queue, &block ) end def dispatch_wait( timeout ) end def dispatch_release end end end }}} USAGE: {{{ block = lambda { do_some_work } queue = Dispatch::Queue.new( "comp.lang.MyCustomerQueue" ) queue.dispatch_async( &block ) queue.dispatch_sync( &block ) queue.dispatch_apply( 5, &block ) group = Dispatch::Group.new group.dispatch_async( queue, &block ) group.dispatch_wait( Dispatch::TIME_FOREVER ) group.dispatch_release }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/476#comment:9> MacRuby <http://macruby.org/> _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel