0

Java の場合: スケジューラ (Ubuntu) がスレッド コードの特定の部分でコンテキスト スイッチを実行するのを防ぐことは可能ですか?

もしそうなら、どのように?

4

2 に答える 2

2

あなたはリアルタイムのスレッドに行くべきです:

http://jrate.sourceforge.net/api/stable/javax/realtime/RealtimeThread.html

優先度を最大レベルに設定します。

http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.html#setPriority%28int%29

このように、リアルタイムスレッドが開始されると、プロセッサはそれ以上解放されません。

さらに、スケジューラーは(リアルタイム)FIFOスケジューラーのように動作するように要求される必要があります。

setScheduler()メソッドがあります。

于 2012-12-13T15:05:57.450 に答える
2

コンテキストの切り替えを回避するために私が行っているのは、スレッド アフィニティを使用し、ビジー状態で待機し、CPU を分離することです (OS がそれをサポートしている場合)。

Java のスレッド アフィニティ ライブラリ

注: 防止できない NMI 割り込みがありますが、通常は大きな影響はありません。

于 2012-12-13T15:30:26.373 に答える