Method: Concurrent::Future#set
- Defined in:
- lib/concurrent-ruby/concurrent/future.rb
#set(value = NULL) { ... } ⇒ IVar
Set the IVar to a value and wake or notify all threads waiting on it.
82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/concurrent-ruby/concurrent/future.rb', line 82 def set(value = NULL, &block) check_for_block_or_value!(block_given?, value) synchronize do if @state != :unscheduled raise MultipleAssignmentError else @task = block || Proc.new { value } end end execute end |