【发布时间】:2015-04-14 15:22:15
【问题描述】:
我需要一些帮助来为我的项目选择最佳线程模式。我想听听 Java 专家的意见和他们的意见。
该应用有一个设备列表,存储在一个可观察的列表中。
- 应用程序初始化,UI 线程运行
- ui 线程调用 unitActiveTask 线程开始监控设备是否处于活动状态,这始终在后台运行。
- 用户可以在其他 2 个线程运行时调用某些服务和任务。
任务和服务示例(不太确定服务和任务之间有什么区别)
- 从列表中删除设备
- 将文件上传到设备(固件、配置)(可能需要很长时间)
- 生成配置(生成包含任意值的属性文件,需要 1-5 秒)
- 很少有其他类似的操作
- 从列表中删除设备
您可以假设只有 unitActiveTask 不应该阻塞。其他任务可以阻止用户,直到他们完成。唯一应该始终保持响应的就是 ui,unitActiveTask 可能会被暂停。
【问题讨论】:
-
你能创建一个具体的问题吗?不清楚你到底在问什么。
-
问题是你将如何处理这个?也许是一些资源的链接。因为有很多变种。任务、可运行对象、线程、执行程序等。然后是相关的数据结构,如阻塞队列、期货、锁。
标签: java multithreading concurrency javafx