問題タブ [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 に答える
899 参照

java - 優先度の最も高いスレッドが CPU に最初に/最適にアクセスできるようにするにはどうすればよいですか?

CPU の負荷が高い処理を行うシステムを使用していますが、それはタイム クリティカルではありません。この同じシステムが RESTful エンドポイントにサービスを提供していますが、これはタイム クリティカルであり、他の処理が実行されているときにひどく行き詰まる傾向があります。優先度の高いスレッドと優先度の低いスレッドの 2 つのスレッド プールを作成して、RESTful エンドポイントが他の処理に関係なく常に高速になるようにします。

スレッドの優先順位を理解するために、この実験を作成しました。

優先順位を強制するために、CPU コアよりも 1 つ多いスレッドがあります。私が予想した結果は、優先度の低いスレッドが明らかに最も長くかかり、優先度の高いスレッドが明らかに最も時間がかかり、残りの 2 つはその中間にあるというものでした。私の実際の結果は、スレッド間でのパフォーマンスの違いはほとんどありませんでした。

最も優先順位の高いスレッド (つまり、ここでは t2 で表される RESTful エンドポイント処理) が常に CPU への最初/最適なアクセスを確保するにはどうすればよいですか?

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

c++ - Windows 7 のプロセスとスレッドの優先順位

私は、Windows の優先度メカニズムを示す必要がある単純な「トレーニング」プロジェクトを持っています。

これは私のC++コードです:

コードでは、スレッドの優先順位が異なる 7 つのスレッドを作成します。すべてのスレッドには独自のカウンターがあります。プログラムは約 5 秒間実行され、その後、コンソールにスレッドの優先順位とその値が表示されます。1 年前に Win XP 32 で実行したとき、すべてが機能していました。優先度の低いスレッドほど、カウンター値が小さくなります。しかし、今では次のような奇妙な結果が得られました。

優先度レベルが機能せず、カウンターがそのような奇妙な値 (昇順でソートされていない) を持っているのはなぜですか?

0 投票する
6 に答える
8638 参照

java - Java マルチスレッド - スレッドの優先度

Javaでスレッドの優先順位がどのように機能するかを誰でも説明できますか? ここでの混乱は、JavaThreadがその優先度に従っての実装を保証しない場合、なぜこのsetpriority()関数が使用されるのかということです。

私のコードは次のとおりです。

上記のプログラムでは、優先度を変更しても出力に違いはありません。また、スレッドの優先度をどのように使用できるかをリアルタイムで適用することも非常に役立ちます。ありがとう。

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

ios - 超優先度の高いバックグラウンド作業または QUARTZ 精度

内部作業用の iOS アプリを構築しようとしています。このアプリはシンプルなステップ MIDI シーケンサーです。このアプリが現在行っていることはすべて、同じ iPad の「ネットワーク セッション」に単純な MIDI メッセージを送信することです。私には問題なく動作し、バックグラウンド アプリ (animoog、ThumbJam など) はこのメッセージを正常に受信します...

唯一の主な問題は、私が問題に直面したことです。LOOP で MIDI ノートを送信しているとき(約 1/8、1/16 など)、アプリケーションがバックグラウンドに移行しているとき (ホーム ボタンを押したとき)、メール、Safari などの他のアプリで移動しているときに、またはanimoogで何かをしている場合、毎回ラグ/バギー/です。、遅れて動作します。たとえば、「Genome Midi Sequencer」 - 旅行中にメール、Safari、または他のアプリで何かをしているときに持ち歩くことはありません - つまり、現在のアプリケーションが CPU のすべてのリソースを使用している場合でも - Genome Midi シーケンサーは、何もせずに midi メッセージを送信し続けます遅れ。なんで?

同じ超優先度の NSThread を構築するにはどうすればよいですか? 、他のアプリを開いてCPUに負荷をかけても遅延なく動作するのはどれですか?「Genome」アプリが midi を送信し、受信トレイの文字をスクロールまたはタッチすると、Mail アプリが遅延することに気付きました。iOS が Genome を最優先するため、これは正しいことです。同じものが欲しい。

これが私がmidiメッセージを送信する方法です:

ループで Midi ノートを送信しています。つまり、Dm、Dm、Dm、Dm……それぞれ 1/8 のように聞こえます。そして、それらの間に時間のギャップ/遅延がなかったことが重要です. しかし、少し遅れてバグがあります。

  1. メイン 高優先度 NSThread

    /li>
  2. 作成したスレッドのメソッド

    /li>
  3. AppDelegate.m ファイル内

    /li>
0 投票する
0 に答える
640 参照

android - android cgroup はスレッドの優先順位で機能しませんか?

https://plus.google.com/u/0/105051985738280261832/posts/XAZ4CeVP6DCから、バックグラウンド優先度で設定されたスレッドは、最大で 10% の CPU を消費する特定の cgroup に入れられると言われています。

アプリケーションでタスクの CPU 使用率を制限したいので、優先度をバックグラウンドに設定しましたが、うまくいかないようです。

そこで、テスト用の簡単なアプリケーションを作成したところ、DEFAULT 優先度のアプリケーションと同じ CPU を消費することがわかりました。両方のスレッドの cgroup を確認しました。1 つは apps cgroup にあり、もう 1 つは apps/bg_non_interactive cgroup にあります。

結果は次のとおりです。

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

c++ - Arduino Uno 用 C++ スケジューラ

Arduino Uno (ATMega328P) に基づくプログラム用に軽量の自家製スケジューラ (C++) を作成/使用したい: 優先タスクに基づいて (実行時間に従って) さまざまな「タスク」を管理したい。それについていくつかの例がありますか?

どうもありがとう

アンソニー

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

android - Androidでのpthread_create警告

関数を呼び出した後pthread_create、次のメッセージを受け取ります。

W/libc (26409): pthread_create sched_setscheduler 呼び出しが失敗しました: 操作は許可されていません

スレッドの作成に使用されるコードは次のとおりです。

メッセージは、RunCallback のブレークポイントに到達する前に logcat に表示されることに注意してください。

なぜ私がこの警告を持っているのか知っていますか? それを無視しても安全ですか?

PS: コードは、4.4.2 OS バージョン (ビルド番号 KOT49H) の Nexus 4 デバイスでネイティブ アクティビティとして実行されます。

0 投票する
0 に答える
389 参照

java - データベースへの呼び出しに時間がかかりすぎるスレッドがヌル ポインターを引き起こしている

データベースを呼び出す init メソッドがあります。ここでの考え方は、ユーザーがアプリケーションにアクセスしたときに、init メソッドが次の方法でユーザーの資格情報をチェックするというものです。

最初にユーザー Bean にデータを取り込み、次にユーザーのパーミッションをチェックします。私が抱えている問題は、このアプリケーションを通常どおり実行すると NullPointerException が発生することですが、デバッグで実行すると (ここにブレークポイントを配置します)、正常に動作します。これは、これらのデータベース呼び出しが別のスレッドで実行され、時間がかかり、アプリケーションがデータを使用するまでにまだ null であるという事実によるものだと思います。私の質問は、アプリケーションがこれらのメソッドを実際に使用する前に処理できるようにするための最良の方法は何ですか?

私は Thread.sleep(1000) を試してみましたが、これは非常にずさんなようで、半分の時間で動作します。

正常に実行された場合の以下のスタック トレース: