concurrent-ruby 1.2.2 → 1.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +56 -2
  3. data/Gemfile +6 -6
  4. data/README.md +7 -3
  5. data/Rakefile +52 -28
  6. data/ext/concurrent-ruby/com/concurrent_ruby/ext/AtomicReferenceLibrary.java +3 -38
  7. data/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMapV8.java +1 -1
  8. data/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/ConcurrentHashMapV8.java +1 -1
  9. data/lib/concurrent-ruby/concurrent/agent.rb +2 -2
  10. data/lib/concurrent-ruby/concurrent/array.rb +3 -3
  11. data/lib/concurrent-ruby/concurrent/async.rb +1 -1
  12. data/lib/concurrent-ruby/concurrent/atom.rb +1 -1
  13. data/lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb +9 -2
  14. data/lib/concurrent-ruby/concurrent/atomic/lock_local_var.rb +1 -0
  15. data/lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb +15 -2
  16. data/lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb +8 -1
  17. data/lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb +1 -2
  18. data/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb +9 -1
  19. data/lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb +23 -20
  20. data/lib/concurrent-ruby/concurrent/collection/ruby_timeout_queue.rb +55 -0
  21. data/lib/concurrent-ruby/concurrent/collection/timeout_queue.rb +18 -0
  22. data/lib/concurrent-ruby/concurrent/concern/logging.rb +17 -12
  23. data/lib/concurrent-ruby/concurrent/concurrent_ruby.jar +0 -0
  24. data/lib/concurrent-ruby/concurrent/delay.rb +1 -1
  25. data/lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb +6 -4
  26. data/lib/concurrent-ruby/concurrent/executor/java_executor_service.rb +5 -7
  27. data/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb +7 -0
  28. data/lib/concurrent-ruby/concurrent/executor/ruby_single_thread_executor.rb +2 -0
  29. data/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb +61 -31
  30. data/lib/concurrent-ruby/concurrent/executor/single_thread_executor.rb +1 -1
  31. data/lib/concurrent-ruby/concurrent/executor/timer_set.rb +10 -3
  32. data/lib/concurrent-ruby/concurrent/executors.rb +0 -1
  33. data/lib/concurrent-ruby/concurrent/hash.rb +5 -3
  34. data/lib/concurrent-ruby/concurrent/map.rb +3 -3
  35. data/lib/concurrent-ruby/concurrent/mvar.rb +4 -4
  36. data/lib/concurrent-ruby/concurrent/promise.rb +2 -2
  37. data/lib/concurrent-ruby/concurrent/promises.rb +33 -23
  38. data/lib/concurrent-ruby/concurrent/scheduled_task.rb +1 -1
  39. data/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb +1 -1
  40. data/lib/concurrent-ruby/concurrent/synchronization/object.rb +1 -1
  41. data/lib/concurrent-ruby/concurrent/thread_safe/util/adder.rb +1 -1
  42. data/lib/concurrent-ruby/concurrent/thread_safe/util/xor_shift_random.rb +1 -1
  43. data/lib/concurrent-ruby/concurrent/timer_task.rb +65 -10
  44. data/lib/concurrent-ruby/concurrent/utility/processor_counter.rb +116 -6
  45. data/lib/concurrent-ruby/concurrent/version.rb +1 -1
  46. metadata +7 -10
  47. data/lib/concurrent-ruby/concurrent/collection/map/atomic_reference_map_backend.rb +0 -927
  48. data/lib/concurrent-ruby/concurrent/thread_safe/util/cheap_lockable.rb +0 -81
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: concurrent-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jerry D'Antonio
8
8
  - Petr Chalupa
9
9
  - The Ruby Concurrency Team
10
- autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2023-02-24 00:00:00.000000000 Z
12
+ date: 2026-06-16 00:00:00.000000000 Z
14
13
  dependencies: []
15
14
  description: |
16
15
  Modern concurrency tools including agents, futures, promises, thread pools, actors, supervisors, and more.
@@ -19,9 +18,9 @@ email: concurrent-ruby@googlegroups.com
19
18
  executables: []
20
19
  extensions: []
21
20
  extra_rdoc_files:
22
- - README.md
23
- - LICENSE.txt
24
21
  - CHANGELOG.md
22
+ - LICENSE.txt
23
+ - README.md
25
24
  files:
26
25
  - CHANGELOG.md
27
26
  - Gemfile
@@ -76,13 +75,14 @@ files:
76
75
  - lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb
77
76
  - lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb
78
77
  - lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb
79
- - lib/concurrent-ruby/concurrent/collection/map/atomic_reference_map_backend.rb
80
78
  - lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb
81
79
  - lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb
82
80
  - lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb
83
81
  - lib/concurrent-ruby/concurrent/collection/map/truffleruby_map_backend.rb
84
82
  - lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb
85
83
  - lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb
84
+ - lib/concurrent-ruby/concurrent/collection/ruby_timeout_queue.rb
85
+ - lib/concurrent-ruby/concurrent/collection/timeout_queue.rb
86
86
  - lib/concurrent-ruby/concurrent/concern/deprecation.rb
87
87
  - lib/concurrent-ruby/concurrent/concern/dereferenceable.rb
88
88
  - lib/concurrent-ruby/concurrent/concern/logging.rb
@@ -147,7 +147,6 @@ files:
147
147
  - lib/concurrent-ruby/concurrent/thread_safe/synchronized_delegator.rb
148
148
  - lib/concurrent-ruby/concurrent/thread_safe/util.rb
149
149
  - lib/concurrent-ruby/concurrent/thread_safe/util/adder.rb
150
- - lib/concurrent-ruby/concurrent/thread_safe/util/cheap_lockable.rb
151
150
  - lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb
152
151
  - lib/concurrent-ruby/concurrent/thread_safe/util/power_of_two_tuple.rb
153
152
  - lib/concurrent-ruby/concurrent/thread_safe/util/striped64.rb
@@ -168,7 +167,6 @@ licenses:
168
167
  metadata:
169
168
  source_code_uri: https://github.com/ruby-concurrency/concurrent-ruby
170
169
  changelog_uri: https://github.com/ruby-concurrency/concurrent-ruby/blob/master/CHANGELOG.md
171
- post_install_message:
172
170
  rdoc_options: []
173
171
  require_paths:
174
172
  - lib/concurrent-ruby
@@ -183,8 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
181
  - !ruby/object:Gem::Version
184
182
  version: '0'
185
183
  requirements: []
186
- rubygems_version: 3.3.26
187
- signing_key:
184
+ rubygems_version: 4.0.6
188
185
  specification_version: 4
189
186
  summary: Modern concurrency tools for Ruby. Inspired by Erlang, Clojure, Scala, Haskell,
190
187
  F#, C#, Java, and classic concurrency patterns.