Java 与MVC一起使用线程

Java 与MVC一起使用线程,java,multithreading,design-patterns,concurrency,Java,Multithreading,Design Patterns,Concurrency,我正在制作一个应用程序,使用MVC将GUI与其余代码分离。我现在要做的是为每个事件创建一个新线程,该线程将在控制器类上处理它。到目前为止,我的想法是在从新GUI事件调用控制器方法时创建一个新的可运行对象,并将引用作为构造函数参数传递给控制器,以便新对象可以从控制器调用所需的方法,然后移动到代码的其余部分。这听起来是处理这个问题的好方法吗?是否有其他标准的操作方法?我之所以创建一个新线程,是因为我不希望GUI线程执行GUI代码以外的任何东西。谢谢 在EDT之外执行长时间运行的任务的主要原因是GUI

我正在制作一个应用程序,使用MVC将GUI与其余代码分离。我现在要做的是为每个事件创建一个新线程,该线程将在控制器类上处理它。到目前为止,我的想法是在从新GUI事件调用控制器方法时创建一个新的可运行对象,并将引用作为构造函数参数传递给控制器,以便新对象可以从控制器调用所需的方法,然后移动到代码的其余部分。这听起来是处理这个问题的好方法吗?是否有其他标准的操作方法?我之所以创建一个新线程,是因为我不希望GUI线程执行GUI代码以外的任何东西。谢谢

在EDT之外执行长时间运行的任务的主要原因是GUI保持响应性。有一些实用程序(例如,
SwingWorker
)将在受控后台线程中执行任务,然后在必要时在EDT中更新Swing组件。非常感谢!SwingWorker似乎做了我想做的事情,如果我像内部类一样使用它。