我编写了一个框架,用于执行需要很长时间的计算(大约15分钟)。现在我想编写一个Swing界面,从数据库中收集数据并执行这些计算。我现在想知道最佳实践是什么?如果我在事件线程中进行耗时计算,整个界面会冻结直到代码完成。我开始考虑创建一个可以处理所有计算任务的对象,但在执行过程中如何处理进度和状态信息呢?我还有几个可以执行的操作,例如需要不同数据的不同计算。我需要为每个操作编写一个对象吗?如果我分离视图和计算,我需要交换数据 - 那么最佳实践是什么呢?谢谢和最好的问候。Marco
doInBackground()
方法中运行耗时的方法,并在完成时调用上的done()
方法,以便更新GUI。如果可能,它还提供了一种通知GUI任务进度的方式。