Platform.runLater()
が達成したいのは現在のスレッドであり、プログラムはJavaFXに関連していないTomcatサーバーです。現在のスレッド上のRunLaterまたは後で実行する現在のスレッドにタスクを与える
私はPlatform.runLater(this::foo);
をしようとしましたが、何もしないと確信しています。おそらく、JavaFXスレッドがないからです。
ScheduledExecutorService
は多くのインスタンス(非常に多くのスレッド)の別のスレッドになるので、実行する必要があるメソッドはもちろん、なので、デッドロックの匂いがします。
Thread.currentThread()
(run
とstart
はパラメータを取らない)で便利なメソッドが見つかりませんでした。
これを行う別のオプションはありますか?
「後で実行する」コードで何をしようとしていますか?なぜなら、このセマンティックは、リクエスト/レスポンス指向サーブレットAPIに(直接的に)存在するものではないからです。 –
これはクライアントから独立して実行する必要のあるコードです。要するに、これはゲームであり、このコードは "AI"プレイヤーを実行します。 JavaFX上の問題のようです:http://stackoverflow.com/questions/39395942/breaking-recursion-from-listeners @JohannesWachter – shinzou
任意の既存のスレッドに対してタスクをスケジュールすることはできません。これは、スレッドが実行するタスクのキューをアクティブにチェックするフレームワークでのみ機能します。しかし、これはxyの問題と思われます。現在のスレッドを使用するあなたの欲求は問題を解決しようとしているから、この方法では解決できません。 – Holger