Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Threadクラス > critical

singleton method Thread.critical

critical -> bool[permalink][rdoc]
critical=(newstate)

真である間、スレッドの切替えを行いません。

カレントスレッドが停止状態になった場合や、シグナルに割り込まれた場合には、 自動的に false になります。 ただし、Thread.new によりスレッドを生成した場合には、critical の値に関わらず そのスレッドは実行されます。 また、Thread.pass により明示的に切替えることもできます。

デフォルトは false です。

注意: I/O や GC、拡張ライブラリがからむとこのフラグは無視さ れることもあります。排他制御を行うにはこのメソッドに頼らず MutexMonitor を使うべきです。

[PARAM] newstate:
スレッドの切替えを許すかどうかを、true か false で指定します。