私は並行性について少し読んでいます(頭痛の種です)。
以下を使用して、メイン スレッドから EDT で実行するタスクを設定できることを理解しています。
SwingUtilities.invokeLater
しかし、EDT からメイン スレッドで実行するタスクを設定できますか?
次のように:
Thread mymainthread=Thread.currentThread();//<referring to the thread that initially kicks off public static void main
public void mousePressed(MouseEvent e){ //queue a task to run on mymainthread }
それはできますか?それは悪い考えですか?
これに似た SO に関する他の質問 (ここ) では、新しいスレッドの作成について説明していますが、シングル スレッド (+EDT) アプリケーションを目指している場合は、メインを使い続ける方が安全で簡単ではないでしょうか? ……あるいは、私はこれをすべて間違っているかもしれません。
編集: 説明すべきこと: メインスレッド (低速ループで実行) で互いに通信するオブジェクトを作成したかったので、別のスレッド、edt などでそれらのいずれかをインスタンス化したくありませんでした。