4

4 つのスレッドを持つプロセスがあり、特定のスケジューリング アルゴリズムに従ってそれらを実行したいとします。アルゴリズムを選択し、スレッドの優先度を設定するための関数を検索して見つけましpthread_setschedparamsched_setschedparamが、不明な点が 1 つpthread_setschedparamあります。それは、スレッド名を取り、独自のスケジューリング ポリシーを設定することです。具体的には、プロセス内のすべてのスレッドは、プロセス全体に設定された 1 つのポリシーに従ってスケジュールされると考えていたためです。つまり、ポリシーを使用sched_setschedparamして設定すると (PID を介してプロセスを参照するため)、選択したスケジューリング ポリシーに従ってそのプロセス内のスレッドが確実に実行されるということですか?

私が書いているコードは Linux 用です。boost を使用していましたが、この部分では pthread に頼らなければなりませんでした。

4

1 に答える 1

3

pthread_setschedparam単一スレッドのスケジューリング パラメータを設定します。sched_setschedulerプロセス全体のスケジューリング パラメータを設定します。実際、異なるスレッドは異なるスケジューリング ポリシーを持つことができます。

于 2012-08-20T21:26:31.337 に答える