エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rubyの(グローバル)VMロックをトレースする(翻訳)|TechRacho by BPS株式会社
興味が湧いてきましたか?自分でトレースを生成する詳しい方法は以下をお読みください。 GVLとは何か Ru... 興味が湧いてきましたか?自分でトレースを生成する詳しい方法は以下をお読みください。 GVLとは何か RubyのVM(仮想マシン)は巨大なプログラムで、大半がC言語で書かれています(JRubyやTruffle Rubyについてはまたの機会に😁)。 Rubyアプリケーションでスレッドを作成すると、Ruby VMはそれらのスレッドをOSのスレッドと1対1で一致させます(この点をいつか変更したいという議論が持ち上がっていたこともあったようで、実に興味深いことです)。 このように、Ruby VMはマルチスレッドの巨大なCプログラムなのです。このようなプログラムでコンカレンシーのバグを回避するには、複数のスレッドが同時に動くときの正しさを保証する何らかの戦略を採用する必要があります。Ruby開発者たちが選んだ戦略は、グローバルVMロック(Global VM Lock: GVL)と呼ばれています。 G



2022/09/02 リンク