Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Swing应用程序多线程共享数据并创建EVEMT_Java_Multithreading_Swing_Simulation - Fatal编程技术网

Java Swing应用程序多线程共享数据并创建EVEMT

Java Swing应用程序多线程共享数据并创建EVEMT,java,multithreading,swing,simulation,Java,Multithreading,Swing,Simulation,目前我正在用Java开发一个Swing应用程序。让我们调用这个程序模拟器。我的任务是 用卡车把包裹送到目的地。我有一个线程,它计算卡车的调度以及何时交付包裹。这个线程在某些情况下可能运行很长时间。在第二个threadcalculator线程中,我正在计算模拟的步骤。这两个线程应该相互通信。算法线程将计划和卡车发送给计算器线程,计算器线程将空闲卡车发送回算法线程。当计算器线程结束其工作时,模拟结束。我的问题和绘制模拟图有关。a应在何处调用组件的图纸?在计算步骤的同一线程中?画第三根线?还有其他可能

目前我正在用Java开发一个Swing应用程序。让我们调用这个程序模拟器。我的任务是
用卡车把包裹送到目的地。我有一个线程,它计算卡车的调度以及何时交付包裹。这个线程在某些情况下可能运行很长时间。在第二个threadcalculator线程中,我正在计算模拟的步骤。这两个线程应该相互通信。算法线程将计划和卡车发送给计算器线程,计算器线程将空闲卡车发送回算法线程。当计算器线程结束其工作时,模拟结束。我的问题和绘制模拟图有关。a应在何处调用组件的图纸?在计算步骤的同一线程中?画第三根线?还有其他可能的选择吗?

是的,我会使用单独的线程进行绘制。在无限循环中绘制所需的图形,然后调用Thread.sleep1000,使其大约每秒更新一次。

使用SwingWorker,请参见。