エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
rubyでカウンティングセマフォ - Qiita
require 'monitor' class CountingSemaphore def initialize(count) @count = count @monitor = Monitor... require 'monitor' class CountingSemaphore def initialize(count) @count = count @monitor = Monitor.new @zero_cond = @monitor.new_cond end def synchronize @monitor.synchronize do @zero_cond.wait_while{ @count == 0 } @count -= 1 end ret = yield @monitor.synchronize do @count += 1 @zero_cond.broadcast end ret end end cs = CountingSemaphore.new(10) Array.new(100) do Thread.start do cs.synchronize{ `sle