問題タブ [thread-priority]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2620 参照

c# - 特定のバックグラウンド ワーカー スレッドが別のワーカー スレッドの前に実行されるようにするにはどうすればよいですか?

ロード中に動作する2 つのバックグラウンド ワーカー スレッドを持つ WPF アプリケーションがあります。

1 つ目 ( bw1 ) はアプリケーションの開始時に生成され、2 つ目 ( bw2 ) は一定の時間が経過した後に生成されます。

最初のバックグラウンド ワーカー ( bw1 ) の "worker_completed"から2 番目のバックグラウンド ワーカー ( bw2 ) を生成できない状況にあります。

現在、クラスレベルの bool 変数 (デフォルトfalse) があり、それtruebw1の worker_completed に設定しています。

bw2の開始時に、上記の bool が false かどうかを確認し、そうであればbw2は 100 ミリ秒間スリープします。

ほとんどの場合、これは機能します。改善したいと思います。

  • bw2がスリープしている間にbw1が確実に実行されるように、 bw1でスレッドの優先度を使用して (最高に設定するなど) できますか?

  • この目標を達成できるイベント駆動型の方法はありますか?

0 投票する
1 に答える
2138 参照

c# - アクションのスレッド優先度の変更

私にはアクションがあり、

このアクションを実行するスレッドの優先度を上げるにはどうすればよいですか? 単純なスレッドでそれを行う方法を知っています。

しかし、アクションの優先度はどうでしょうか?

0 投票する
3 に答える
3574 参照

c++ - C++ で優先順位の逆転を引き起こすことはできません

デモンストレーションの目的で小さなC++プログラムで優先順位の反転を引き起こそうとしていますが、できません。ミューテックスを保持する優先順位の低いスレッドはプリエンプトされず、クリティカル セクションで実行され続けます。これは私がやっていることです:

...しかし、うまくいきません。希望する優先順位の反転ができません。

これが起こることです:

私が理解しているように、Linux の CFS のようなスケジューラでは、実行中の状態のリアルタイム スレッド (SCHED_FIFO または SCHED_RR) がなくなるまで、非リアルタイム スレッド (SCHED_OTHER) は実行されません。しかし、私はこのスレッドを同時に実行することを達成しました:

  • (L) ミューテックスをロックし、CPU を消費する 1 つの非リアルタイム (SCHED_OTHER) スレッド
  • (M) 複数のリアルタイム スレッド (SCHED_FIFO 、および優先順位 > 0) CPU を集中的に使用し、mutex のロックを待機していない
  • (H) 1 つのリアルタイム スレッド (SCHED_FIFO 、および最高の優先度) がロックを待機中

私のシステムのCPUの量よりも多くのリアルタイムCPU集中スレッド(M)が実行されています...しかし、ロックを保持している非リアルタイムスレッド(L)はまだCPUを消費しており、作業を終了し、ミューテックスを解放します「M」スレッドが CPU の消費を終了します。

優先度の低いスレッドがプリエンプトされず、アプリケーションがデッドロックされ、優先度の逆転が得られないのはなぜですか?

カーネル 2.6.38-13 を搭載した Ubuntu デスクトップ 11.04 で g++ 4.5.2 を使用しています。

0 投票する
2 に答える
1065 参照

java - バッファリングされたリーダーと優先キューは連携していますか?

.csv ファイルから項目を読み取り、それらをリモート データベースに書き込むプログラムを扱っています。プログラムをマルチスレッド化しようとしています。そのために、個別の接続を持つ 2 つのプロセス スレッドを作成しました。この目的のために、.csv ファイルがバッファリングされたリーダーに読み込まれ、バッファリングされたリーダーの内容が処理されます。ただし、スレッドはデータを複製し続けているようです (すべてのタプルの 2 つのコピーをデータベースに書き込みます)。

Java でバッファをミューテックスする方法を見つけようとしてきましたが、思いつく最も近いものはプライオリティ キューです。

私の質問は、バッファ付きリーダーを使用して、ファイルを優先キューに 1 行ずつ読み込むことができるかということです。IE

.csv ファイルの読み取りにバッファー リーダーが使用されていることがわかります。バッファリングされたリーダーがタプルを優先キューに入れ、各プログラムスレッドが優先キューにアクセスするように、関数の外部で優先キューを設定する方法はありますか?

0 投票する
2 に答える
572 参照

ios - 各バックグラウンドスレッドを優先して徐々に実行したい

バックグラウンド 5 スレッドがほぼ同時に画像をロードしているため、このコードはメモリ不足の警告を生成します。

各スレッドに優先順位をつけてロック&アンロックしたい。ステップバイステップのスレッドを作成します。画像 1 の読み込み -> 画像 2 の読み込み -> 画像 3 の読み込み -> 画像 4 の読み込み。

これどうやってするの?

ビューコントローラー

読み込み中の画像

画像追加

URLからの画像

0 投票する
3 に答える
1863 参照

java - SwingWorkerが使用するバックグラウンドスレッドの優先度を設定する方法はありますか?

Javaでは、オブジェクトのdoInBackground()メソッドを呼び出すスレッドの優先順位を設定する方法はありますか?SwingWorker

スレッドAPIにはsetPriority()メソッドがあります。このSwingWorker.execute()メソッドは、swingworkerがワーカースレッドで実行されるようにスケジュールします。そのワーカースレッドにアクセスして、優先度を設定したいと思います。

私の理解では、このワーカースレッドはデフォルトのワーカースレッドプールから来ています。これを処理する唯一の方法は、自分のエグゼキュータを使用することですか?

0 投票する
2 に答える
7374 参照

linux - Linuxでは、SCHED_FIFOスレッドはSCHED_OTHERスレッドによってプリエンプトされます

テストするためのテストプログラムを作成しましたSCHED_FIFO。スレッドSCHED_FIFOによってプリエンプションできないことを学びました。SCHED_OTHERしかし、同じプログラムを複数回実行した場合の結果を説明することはできませんでした。

複数の実行で予期しない結果が発生しました。スレッドSCHED_FIFOがプリエンプションされていSCHED_OTHERます。つまり、プログラムに従って、スレッド2はFIFOモードで、スレッド1はSCHED_OTHERモードです。thread2がthread1にプリエンプションされるのを何度も見ました。

誰かが問題を見つけるのを手伝ってくれますか?

0 投票する
1 に答える
800 参照

c++ - NSOperationQueue と pthread の優先度

私はこの問題を抱えています:

  • いくつかのスレッドを使用する C++ コードがあります。これらのスレッドは pthread タイプです。
  • 私のiPhoneアプリではNSOperationQueue、いくつかのC++コードも使用しています。

問題は次のとおりです。C++ pthread の優先度は常に よりも低くなりNsOperationQueueます。

どうすればこれを修正できますか? また、優先度を低くしようとしましNSOpertionQueueたが、この修正は機能しません。

0 投票する
1 に答える
1910 参照

c - POSIX システムでのスケジューリングに関するミューテックスとスレッドの優先順位

POSIX システム (Linux など) では、複数のスレッドが共通のミューテックスをロックする場合、常に観察されるのはロック順序ですか?それとも、クリティカル セクションで次のスレッドをスケジュールするときにスレッドの優先度がより高い優先度のスレッドにバイアスをかけますか?

標準は動作について何か言及していますか? 私が見る限り、必要なインターフェースしか言及していないように見えるからです。

注意してください、私は POSIX 準拠システム (Linux だけでなく) に関するガイダンスを探しているので、他の OS (QNX、Minix など) の動作を自由に提案してください。

0 投票する
1 に答える
346 参照

java - 優先順位が設定されたスレッド

メインスレッドを含む3つのスレッドでカウントダウンアプリを作成しました。countdownEvenをlowに設定して、countdownOddが最初に表示されるようにしましたが、出力では何も起こりません。誰かが問題を見ることができますか?