信号采集软件架构与设计模式选择

2017-02-28 18:41:22 +08:00
 thunder123bird

简要说明:

1.软件通过第三方库连接采集设备,通过发送命令的方式来对采集设备进行控制;

2.发送命令函数返回值指示命令是否执行成功;

3.发送命令的函数是阻塞式函数,最长执行时间为 1 秒;

自己的初步想法:

1.采用命令模式,将需要的功能封装在具体的命令类里面(比如: OpenDeviceCMD , CloseDeviceCMD , ConfigDeviceCMD , ReadDataCMD 等),将命令的具体执行封装到 Device 类(相当于命令模式中的 Reciver )里面,此外 Device 类还采用单例模式设计;

2.由于各个命令都比较耗时,准备将 Device 类的执行放到单独的线程中,避免阻塞主线程;

自己的疑问:

  1. 由于采用多线程设计,使得命令的执行状态(如,何时执行完毕,执行结果如何,读取的数据在哪儿等)主线程无法知晓,请问这种情况下应该怎么办?

  2. 有没有更好的设计思路,简化系统设计?

1182 次点击
所在节点    问与答
3 条回复
billlee
2017-02-28 21:13:54 +08:00
你的主线程是 GUI 线程吗?如果是就给事件队列发消息啊
kqz901002
2017-02-28 21:22:39 +08:00
事件
ihuotui
2017-02-28 22:58:54 +08:00
看 netty 或者 nio 的设计

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/343864

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX