我的数据模型层中有两个“并行”运行的线程,它们都计算一些值。我有一个mvc模式设置,所以我的数据模型有两个数组,每个数组负责从我的每个线程生成的值。如何在不阻塞主UI的情况下告诉我的视图我的数组有新数据?
我的线程在计时器上每隔x秒运行一次,每个线程生成一个整数。其中的每一个都需要添加到一个数组中,当添加时,视图应该通过观察者模式获得一个通知,以便根据两个数组的更新值更新屏幕。这应该在不阻塞主UI线程的情况下发生。所以我不能真的做while(true)或者为每个线程设置一个futureValue,因为这会让我的ui等待线程完成。我能做什么?
发布于 2013-10-02 16:00:08
您将始终:
add
方法add
以通知UI- Thread ExecutorService
,这是您通过<代码>D9获得的。因为通知UI-Thread.doInBackground
submit()
中处理,所以更新用户界面的done()
方法(done()
在Swing的事件分派线程上执行)有关Threads and Swing的更多信息,请参阅此处
发布于 2013-10-02 16:38:03
这似乎是一种相当复杂的方法。下面是我的:
https://stackoverflow.com/questions/19131862
复制相似问题