Java 使用或不使用SwingWorker与普通线程

Java 使用或不使用SwingWorker与普通线程,java,Java,我有一个启动和停止按钮。我希望能够启动和停止一项任务的次数与用户希望的次数相同。我可以通过在按下停止按钮时执行wait()命令,然后在按下开始按钮时执行notify()命令来再次启动线程,从而在常规线程中正常工作。这很有效。然而。。。我伸长了线。我的老板告诉我永远不要延长线程,我应该使用一个SwingWorker。但我注意到一个荡秋千的人只能被处决一次。或者可以在同一会话中多次执行。。??有人能帮我找到正确的方向吗 每次运行逻辑时,只需为SwingWorker创建一个新的实例。就我个人而言,我不

我有一个启动和停止按钮。我希望能够启动和停止一项任务的次数与用户希望的次数相同。我可以通过在按下停止按钮时执行wait()命令,然后在按下开始按钮时执行notify()命令来再次启动线程,从而在常规线程中正常工作。这很有效。然而。。。我伸长了线。我的老板告诉我永远不要延长线程,我应该使用一个SwingWorker。但我注意到一个荡秋千的人只能被处决一次。或者可以在同一会话中多次执行。。??有人能帮我找到正确的方向吗

每次运行逻辑时,只需为SwingWorker创建一个新的实例。就我个人而言,我不认为SwingWorker对你描述的问题有什么好处。更不用说它不会很好…

您很少需要扩展
线程。您应该做的是将
Runnable
传递给
Thread
构造函数


根据我的喜好,
SwingWorker
给代码添加了太多的耦合,应该留给运行良好的演示。

你不需要SwingWorker来完成你的工作。SwingWorker用于您必须在后台线程中运行某些东西,在不锁定i的情况下更新GUI(如进度)的情况

你已经做的很好了