mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
17 lines
418 B
Ruby
17 lines
418 B
Ruby
|
module Rake
|
||
|
|
||
|
# Same as a regular task, but the immediate prerequisites are done in
|
||
|
# parallel using Ruby threads.
|
||
|
#
|
||
|
class MultiTask < Task
|
||
|
private
|
||
|
def invoke_prerequisites(args, invocation_chain)
|
||
|
threads = @prerequisites.collect { |p|
|
||
|
Thread.new(p) { |r| application[r, @scope].invoke_with_call_chain(args, invocation_chain) }
|
||
|
}
|
||
|
threads.each { |t| t.join }
|
||
|
end
|
||
|
end
|
||
|
|
||
|
end
|