JavaFxのAPIのTaskクラスを使用してネットワーク操作を実行しています。このクラスは、この状況に完全に適合しているように見える進行状況システムを提供し、たとえば、呼び出し元のスレッドにアップロードされたファイルの量を報告できるようにします。このために、ファイルが正常にアップロードされるたびにupdateMessage(x + "files uploaded")を呼び出します。
問題は、すべてのファイルがアップロードされたときに、私が今までに受け取った唯一のメッセージが最後のメッセージであるということです。この現象は、Javadocによって何らかの形で説明されていると思います。
updateMessageの呼び出しは、後でFXアプリケーションスレッドで合体して実行されるため、FXアプリケーションスレッドからでもupdateMessageを呼び出すと、必ずしもこのプロパティがすぐに更新されるとは限りません。また、中間メッセージ値を合体して、イベント通知を節約できます。
すべてのメッセージ、または少なくとも一部のメッセージを正しく報告するにはどうすればよいですか?その周りにThread.sleep(20)を追加しようとしましたが、機能しません。何か案が?