From: "mame (Yusuke Endoh)" Date: 2012-04-14T10:58:12+09:00 Subject: [ruby-core:44354] [ruby-trunk - Feature #6293][Assigned] new queue / blocking queues Issue #6293 has been updated by mame (Yusuke Endoh). Status changed from Open to Assigned Assignee set to matz (Yukihiro Matsumoto) Hello, 2012/4/14 tenderlovemaking (Aaron Patterson) : > I'd like to add new Queue objects to ruby. I bet matz does not accept it because there is no good reason. Why don't you extend the traditional Queue class? > * include Enumerable The semantics is not trivial. See the discussion in #4589. -- Yusuke Endoh ---------------------------------------- Feature #6293: new queue / blocking queues https://bugs.ruby-lang.org/issues/6293#change-25896 Author: tenderlovemaking (Aaron Patterson) Status: Assigned Priority: Normal Assignee: matz (Yukihiro Matsumoto) Category: Target version: Hi, I'd like to add new Queue objects to ruby. Whenever I use queues, I either use them in a blocking or non-blocking manner only, so I have separated them in to two classes Thread::Queue, and Thread::BlockingQueue. Other notable differences, these queues: * implement `poll`, which will return a nil if the queue is empty * do not allow `nil` to be in the queue as it would interfere with `poll` * include Enumerable I think these will be a good basis for implementing a Deque, SynchronizedQueue, and PriorityQueue. I've attached a patch against trunk. -- http://bugs.ruby-lang.org/