ネットワークからログ データを高速 (1 秒あたり約 100 パケット) で受信する SWT を使用してデスクトップ アプリを作成しています。各パケットには、に追加する必要がある行が含まれていStyledText
ます。非 UI スレッドでパケットを受信するため、次のコードを使用する必要があります。
display.asyncExec(new Runnable() {
@Override
public void run() {
txtLog.append(log);
txtLog.setTopIndex(txtLog.getLineCount() - 1);
}
});
しかし、このコードによりロガーが遅くなり、ロガーの出力が送信者と同期されません。たとえば、送信側のデバイスを停止すると、プログラム ログの出力が 3 分後に停止します!! しかし、Eclipse コンソールの出力 ( System.out.println()
) は送信側と完全に同期し、時間通りに出力を停止します! setText()
日食はどのように行われStyledText
ますか?