From: SASADA Koichi Date: 2008-05-19T19:07:16+09:00 Subject: [ruby-dev:34754] Re: Thread#priority= does not work  ささだです.  IRC で言われて気づいたんですが,この件をすっかり見逃してました. Yusuke ENDOH wrote: > Thread#priority= の実現に pthread の優先度を使う戦略のようですが、 > これには問題があると思います。 > > - pthread のデフォルトのスケジューリングアルゴリズム (SCHED_OTHER) は > 優先度を無視する > - 優先度を考慮してくれるスケジューリング (SCHED_RR と SCHED_FIFO) は > スーパーバイザ権限がないと使えないらしい (少なくとも LInux では) > > このような制約がある以上、pthread の優先度を使うのは難しいと思います。 > > > 解決方法を 2 つ提案します。 > > (1) Thread#priority= を deprecated する > (2) native_thread_yield するときは priority の数だけ繰り返して > 擬似的に優先度を実現する  Thread#priority を意識してプログラミングをするというのはどの程度 Ruby で一般的なんでしょうか.それによって,(1), (2), もしくは (3) Native Thread の実装にお任せ,があるのではないかと思います.YARV で は (3) でいっかー,と思っていました.  それはそれとして,頂いたパッチ(後者)は適用しておきます. -- // SASADA Koichi at atdot dot net