concurrent-ruby icon indicating copy to clipboard operation
concurrent-ruby copied to clipboard

Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns.

Results 59 concurrent-ruby issues
Sort by recently updated
recently updated
newest added

This fixes an inconsistency in behavior in ThreadPoolExecutor in Ruby and JRuby. Extracted from #1042, explained in #1041. - [ ] Todo: Isolate deadlock being seen in TimerSet

Fixes #672 and #662. Creates a new @running object on shutdown while the ScheduledTask is checking the previously set @running object which will remain false. Note: I don't like my...

# Feature request ## Add support for keyword arguments when using async ### [From the docs](https://ruby-concurrency.github.io/concurrent-ruby/1.2.3/Concurrent/Async.html) ``` class Echo include [Concurrent](https://ruby-concurrency.github.io/concurrent-ruby/1.2.3/Concurrent.html)::Async def echo(msg) print "#{msg}\n" end end horn = Echo.new...

For my use case I would like to ensure that when I create a thread pool with min_threads > 0, that the minimum number of workers are created immediately. The...

See https://bugs.ruby-lang.org/issues/20085 This is not a concurrent-ruby issue, so please do not file more issues about this. Any segfault when not using `concurrent-ruby-ext` (the native extension) cannot be a bug...

We're in need for a thread pool that has a maximum number of parallel threads, no queue and fails if too many threads are added. We also need to be...

question

### Background Info * Ruby implementation: JRuby * `concurrent-ruby` version: `>= 1.1.10`, earlier versions may be affected as well * `concurrent-ruby-ext` installed: no * `concurrent-ruby-edge` used: no ### Issue `Concurrent::DaemonThreadFactory#newThread`...

Based on the docs: > A thread-safe subclass of Hash. This version locks against the object itself for every method call, ensuring only one thread can be reading or writing...

high-priority

```ruby user_ids,org,delete_restore = get_org_and_user(delete_restore_id) return unless user_ids.present? work_num = [user_ids.length,50].min thread_pool = Concurrent::FixedThreadPool.new(work_num) error_map = Concurrent::Map.new redis_key = RedisClient::DDRS_BULK_DELETE_KEY % org.id ## TODO set_redis_total_num(redis_key,user_ids.length) user_ids.each do |id| thread_pool.post do #delete_single_user(id,error_map,redis_key)...