![]() |
1
1
这个
有关的详细信息
|
![]() |
2
0
可以。对于任何感兴趣的人来说,这是我目前用来实现我的请求的工具。 我有一个方法可以调用<t>。然后,它将创建一个FutureTask<t>,这将作为一个未来<t>,返回给调用方。jxbusylabel和jxlayer被告知开始绘制并锁定用户界面。FutureValue和线程(见下文)在一个特殊的列表中排队。创建了一个runnable:在futureTask上调用run(),从列表中删除futureValue(和thread),如果列表为空,则解锁jxlayer并停止jxbusylabel。此可运行文件在具有普通优先级的新线程中启动。 当用户点击取消按钮时。列表将被迭代,如果可以取消的话,未来任务将全部取消并从列表中删除。首先尝试取消(false),然后取消(true)。如果这两种方法都意味着失败,则会提示用户一条警告,询问他们是否要线程化该任务。stop(),并解释说这可能会使应用程序不稳定。如果是,停止()运行任务的线程。这可能会导致应用程序关闭。在所有情况下,用户界面都是解锁的。 其他团队成员的文档说明,他们必须知道该任务可能会被终止。在isdone()为真之前,它们不会调用get()。他们被明确告知,这将基本上强制他们阻止,直到任务完成或取消。所以他们不能从事件调度线程调用它。 其他解决方案仍然受欢迎 |
![]() |
a a · 为什么在这个可重入锁示例中需要引用计数? 3 年前 |
![]() |
Grant · goroutines有高空闲唤醒电话 3 年前 |
![]() |
hoaz · 如何安全地清理并发映射 7 年前 |
![]() |
Alanpatchi · int基元类型的volatile声明 7 年前 |