4

Glib 2.30 APIでは、 GThreadPriority列挙型を介してスレッドの優先度を設定できます。ただし、その API は2.32 の時点で廃止されており、新しい API を使用してスレッドの優先度を設定する方法に関する情報は見つかりません。API refrenceのすべてのスレッド関連セクションを Ctrl+F で調べましたが、優先度に関連するものは何も見つかりませんでした。Googleも何も知らないようです。

では、2.32 API でスレッドに優先順位を割り当てることは可能なのでしょうか? はいの場合、作成時にそれを行う方法と、スレッドの作成後に変更することは可能ですか? pthread がこれらすべてをサポートしていることはわかっていますが、プラットフォームに依存しない Glib API に固執したいと思います。

4

1 に答える 1

4

スレッドの優先順位の設定はなくなりました。Glib git ログでは、このコミットが理由を説明しています

GThread: スレッドの優先順位を廃止する

スレッドの優先順位は、Solaris では機能しないことがすでに文書化されており、Linux では、プロセスがリアルタイム スケジューリングを個別に要求しない限り意味がありません (その場合でも、root としてのみ機能するように見えます)。

多分スレッドプールを使用していて、g_thread_pool_set_sort_function ()うまくいくでしょうか?

于 2012-09-07T23:00:13.320 に答える