エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
RubyでThreadがデッドロックしたときにバックトレースを表示する。あるいはRubyに送ったパッチの話 - Money Forward Developers Blog
記事へのコメント4件
- 注目コメント
- 新着コメント

注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
RubyでThreadがデッドロックしたときにバックトレースを表示する。あるいはRubyに送ったパッチの話 - Money Forward Developers Blog
こんにちは。id:Pocke です。最近は並列処理の実装に頭を悩ませています。 この記事では並列処理の実装... こんにちは。id:Pocke です。最近は並列処理の実装に頭を悩ませています。 この記事では並列処理の実装の中で得た学びについて共有しようと思います。 なお特にことわりがない限り、Rubyのバージョンは記事執筆時点で最新の3.4.1を使用します。 問題 Threadをふんだんに使ったプログラムをデバッグしていると、デッドロックが起きたときに、その原因となったスレッドがどこで停止しているのかを知りたくなることがあります。 例えば以下のようなケースを考えてみます。 # わざとトレースを深くするメソッド呼び出し def f(q) = g q def g(q) = h q def h(q) = q.pop def main q = Thread::Queue.new # `q` にはエンキューされないので、これらのスレッドは停止する th1 = Thread.new { f q } th2 = T
2025/02/18 リンク