スレッド優先度を指定せずにJava Swingアプリケーションを作成すると、イベントディスパッチスレッドはメインスレッドよりも高い優先度で実行されますか?これは、メインスレッドがイベントディスパッチスレッドを決して中断しないことを保証するものではないことを理解します。Swingイベントディスパッチスレッドは、メインスレッドよりも高い優先順位で実行されますか?
答えて
なぜこの仮定をしたいと思いますか?
Swingのルールは、GUIを更新するすべてのコードがEDT上で実行され、Swingコンポーネントに対するすべての更新が順番に行われることです。
このルールの理由は、スレッドが中断されたときを制御できないため、同じGUIコンポーネントを別のスレッドで更新しないようにするため、コンポーネントが矛盾した状態になることがあります。複製することができないランダムな問題が発生します。
はい。 5 == Thread.NORM_PRIORITY
と10 == Thread.MAX_PRIORITY
こと
5
6
注:
import java.awt.EventQueue;
public class Test {
public static void main(String[] args) {
System.out.println(Thread.currentThread().getPriority());
EventQueue.invokeLater(() -> {
System.out.println(Thread.currentThread().getPriority());
});
}
}
出力:
EDTは、ここでは実績のあるメインスレッドよりも高い優先度で実行されます。
ありがとうございます。しかし、あなたがこれを1つの実装で真実であると示している間に、私はjavadocで何も見つけることができず、これがすべての実装に当てはまることを保証します。 –
@espertus:あなたはそうではないでしょう –
@HovercraftFullOfEels次に、私は答えが「多分」で、「はい」ではないと思います。 –
- 1. バックグラウンドスレッドは、フォアグラウンドスレッドより低い優先順位で実行されますか?
- 2. divの優先順位を他のものよりも高くするには
- 3. メインスレッドの優先順位の値は何ですか?
- 4. 閉鎖より優先順位の高いグループ
- 5. 以下のパッケージは、優先順位の高いチャネルによって優先されます
- 6. スカラ、より低い優先順位でインポートしますか?
- 7. regexパターンの優先順位を他のパターンよりも優先する方法
- 8. dependencyManagementが依存関係定義のバージョンよりも優先順位が高いのはいつですか?
- 9. CSS優先順位
- 10. 優先順位キューマルチスレッド
- 11. プロセスの優先順位とスレッドの優先順位
- 12. C言語の優先順位の優先順位
- 13. MySQLの優先順位順
- 14. "関数アプリケーションは中置演算子より優先順位が高い" [Haskell]
- 15. JOINの優先順位は?
- 16. Javascriptでメッセージの優先順位付けはありますか?
- 17. 行優先順位の指標
- 18. SQLマルチジョインでの実行の優先順位
- 19. SPARQL ORフィルタ命令に優先順位はありますか?
- 20. ANTLRルールの優先順位
- 21. 優先順位レベルのイベントエミッタライブラリ?
- 22. CSSの優先順位
- 23. MVCルーティングパラメータの優先順位
- 24. JPAカスケードタイプの優先順位?
- 25. express.jsのルータ優先順位
- 26. Javaの優先順位
- 27. メソッドの優先順位
- 28. C#エクステンションメソッドの優先順位
- 29. SQLサーバージョブの優先順位
- 30. Rails3ルーティングの優先順位
このルールの理由は、Swingでの同期方法が大幅に回避されるためです。 – EJP