問題タブ [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.
c - Pthread 優先度を設定できません
を使用して Pthread 優先順位を設定できませんpthread_attr_setschedparam()
。この問題を解決しようとしましたが、できませんでした。同じ機能を使用している教科書も参考にしました。このコードを本からコピーしました。スレッド優先度の設定方法を教えてください。
コードは次のとおりです。
c# - 10ミリ秒未満の小さなタスクを並列化できますか?(例:行列の反転)
WindowsとLinuxのスレッド(またはファイバー)について、任意のプログラミング言語で一般的な質問があります。
「2番目のスレッドを待機」させて、すぐに実行に移し、プリエンプトされることなく、数ミリ秒の間小さなタスクを支援することは可能ですか?ミューテックスとスピンロックのない読みやすいコードを望んでいることを付け加えておきます。
従来のスレッドプールが小さなタスクでは機能しないことを示すために、C#でのマトリックス反転の問題を検討してください。IvanKuckirの行列クラスを使用しています。彼のInvert関数をコピーして、次のようにInvertParallelと呼びます。
次に、Invert関数とInvert_Parallel関数の両方を呼び出して、それにかかる時間を測定します。
かなり明白な結果は、小さなタスク(マトリックスサイズ50)の場合、スレッドプールからのタスクの起動はシングルスレッドの実行よりも遅いことを示しています。
(お詫び-私は新しいポスターなので、以下のメモからすべてのリンクを削除する必要がありました)
PS関連のS/O記事:「2つのスレッドを同時に開始する方法」、「Linux-スレッドとプロセスのスケジューリングの優先順位」
PSはい私は逆数を計算するためのより賢いアルゴリズムがあることを知っています。それはO(N ^ 2.376)としてスケーリングします。
PPSユーザーモードスケジューリング(WindowsではUMS)ユーザーモードスケジューリング(Windowsでは「UMS」)に慣れていませんが、役に立ちますか?
java - Java はプリエンプティブですか?
この質問に対する多くの回答を見てきましたが、まだわかりません。
それらの1つは「Javaはプリエンプティブです」でした。(JVM は、プリエンプティブな優先度ベースのスケジューリング アルゴリズム (通常はラウンド ロビン アルゴリズム) を使用してスケジュールを設定します。
2 つ目は、同じ優先度の 2 つのスレッドが Java を実行すると、プリエンプトされず、1 つのスレッドが枯渇する可能性があることです。
だから今、私はそれをチェックするためのプログラムを書きました.10個の最小優先度のスレッドを作成し、次に最大優先度の10個のスレッドを作成しました。その結果、すべてのスレッド間でジャンプしました.優先順位
t
java - スレッドの優先度は同期ブロックアクセスに影響しますか?
リストに新しいファイルを追加する単一のFileScannerスレッドと、新しいファイルを取得してそれぞれが独自のファイルを解析する複数のFileParserスレッドがあります。同期のために、リストへの追加とリストからの読み取りを同期リソースブロックに配置しました。問題は、FileScannerスレッドが不足しているように見え、他のFileParserスレッドがリソース(リスト)を解放するのを待っている同期ブロックに入らない場合があることです。私の質問は、FileScannerに最大の優先度を設定し、他のFileParserスレッドに最小の優先度を設定した場合、問題は解決するでしょうか?言い換えると、JVMがスレッドから同期ブロックへのアクセスを許可するために選択するために、スレッドの優先順位は影響を及ぼしますか?ありがとう。
アップデート:
これは私のFileScannerスレッドで呼び出されます:
そして、これは私のFileParserスレッドで呼び出されます。
java - CPU 負荷での Java マルチスレッド
複数の Java スレッドを実行するアプリケーションに少し問題があります。アプリケーションは、入力キューを継続的にピークする多数の作業スレッドを実行し、キューにメッセージがある場合はそれらを取り出して処理します。
これらの作業スレッドの中には、(アプリケーションが実行されている) ホストがまだアプリケーションを実行するのに「良好な状態」にあるかどうかを確認するためのチェックを定期的に実行する予定の別の検証スレッドがあります。このスレッドAtomicBoolean
は、ホストが正常かどうかを確認するためにピークを開始する前に、作業スレッドによって検証される値を更新します。
私の問題は、CPU 負荷が高い場合、検証を担当するスレッドが他のすべてのスレッドと競合する必要があるため、時間がかかることです。AtomicBoolean
一定期間が経過しても更新されない場合、自動的に false に設定され、厄介なボトルネックが発生します。
私の最初のアプローチは、検証スレッドの優先度を上げることでしたが、より深く掘り下げると、これは保証された動作ではなく、アルゴリズムが正しく機能するためにスレッドの優先度に依存するべきではないことがわかりました。
代替案はありますか?ありがとう!
android - タスクに優先順位を付ける android
私は、javascript を介して実装され、Web ビューに読み込まれるスクロール テキスト ティッカーがある Android アプリケーションを持っています。正常に動作していますが、プロセッサがビジー状態のときはいつでも (更新、スライド ショー、カメラ画像処理などのためにアプリケーションに多くのタイマーがあるように)、ティッカーは一瞬停止してから再開します。
Web ビューの操作が他のプロセスによって妨げられないように、Web ビューの優先順位を高くすることはできますか?
java - Eclipse ブレークポイントで Java テストランナーの優先順位を下げる方法は?
メイン クラス RunTest と興味深いクラス QueueListener を使用して、Eclipse でマルチスレッド Java コードをデバッグしている場合。
仮定:
- RunTest が初期化されると、QueueListener がバックグラウンドで実行されます。
- RunTest が終了すると - QueueListener が終了します
- RunTest には単一のメソッドがあり、その中にブレークポイントがあります
- ブレークポイントを持つ QueueListener に単一のメソッドがあります
- QueueListener は何度でも実行できます
- RunTest は実行ごとに 1 回だけ実行されます (親クラス)
Eclipse でデバッグすると、両方のブレークポイントが表示されます。しかし、Eclipse は RunTest を優先し、デバッガーでそのスレッドを選択して手動で QueueListener に切り替える必要があり、これを何度も繰り返します。
私が QueueListener にもっと興味を持っていることを Eclipse に伝える方法はありますか?
windows-ce - Win CE 6.0 イーサネットの読み取り/書き込みスレッドの優先度
win CE 6.0 を使用しており、イーサネットからの読み取りと書き込みを担当するスレッドの優先度を編集する必要があります。ただし、この目的を担当するコードは見つかりませんでした。どこでそれらを見つけることができるか考えていますか?
よろしく
c - ThreadName を知ることによるスレッドの優先度の設定
Win CE 用の rt ドライバーを開発しています。目的を達成するには、スレッドの優先順位を変更できる必要があります。しかし問題は、Microsoft のおかげで特別なソース コードを持っていないことです! したがって、スレッドが作成された場所でスレッドの優先度を設定することはできません。
現在、私が知っているのは、Visual Sudio のスレッド ウィンドウから読み取ったスレッドの名前 (threadname) です。(pThread、hThread の値は常に変化するため、使用できません。静的なものはスレッド名のみです。) 名前だけを知っているスレッドに値を割り当てることはできますか? (その名前を知っていれば、固有のスレッド ID を見つけることができますか?) スレッドの組み込み関数を調べたところ、呼び出しスレッドの疑似ハンドルを取得する GetCurrentThread 関数が存在します。しかし、それは私には適していません。将来的には、現在のスレッドが私が望むものであると確信できないからです。したがって、別のスレッドの優先度を設定する場合があります。
要約すると、スレッド名を知るだけでスレッドの優先度を設定する方法はありますか?
よろしく、
センティウス