在我的情况下使用线程池

时间:2014-08-03 13:55:30

标签: java multithreading swing

我想在jpanel上绘制圆圈,其中每个圆圈应交替出现在随机位置上,颜色不同,例如2000ms后,它会消失(消失),然后出现一个新的圆圈。

但是,我想使用一个包含3个线程的线程池,这样我就可以在同一时间显示3个圆圈。

所以现在我不确定我应该如何执行CircleRunnable类并让这些圆圈出现在屏幕上?

1 个答案:

答案 0 :(得分:4)

不,你不应该为此使用多个线程。图形不是通常多线程的东西(由Swing的Event / Paint线程证明)。

相反,您应该在合适的集合中跟踪圈子及其生命周期,并在单个线程中处理它。例如,创建javax.swing.Timer并在每个刻度线上随机生成圆圈。

这样你就可以拥有数百个圆圈,并且你不会在Swing程序中用多线程射击自己。