- 博客(0)
- 资源 (3)
- 收藏
- 关注
原生PB9通过API实现多线程串口COM通讯
1、Powerbuilder9.0_8836的版本
2、采用API,支持串口信号事件
3、事件监听、读字符,写字符都是采用的是多线程
4、多线程用的是PB的shareobject方法,不会crash。
5、内含虚拟串口工具和串口调试工具以及API串口相关说明文档。
2018-12-19
PB9多线程Demo
注意事项:
1、主进程传入的对象或变量不管是不是ref线程内操作传入的引用都会影响主进程的对象或变量,且对象只能是nonvisualobject类型的。
2、基础变量如long等等都不能传引用ref会运行会报错
3、SharedObjectUnregister只是把SharedObjectDirectory中的去掉,实际内存不会释放必须destroy
4、主进程不能直接访问线程中的变量和对象,可以通过处理类私有的办法处理。
5、千万注意释放线程的时候一定要把线程里面的资源释放完,不然百分百卡死。比如一个线程里面有一个timing的计时器,如果不先stop(),直接destroy,百分百卡死。如果连接数据库或者其他接口时千万注意了!!!千万要在uf_stop()(此例子中的释放预留方法)里面把所有的资源都释放干净,资源都释放干净,源都释放干净,都释放干净,释放干净,放干净,干净,净……
大体设计思路:
1、在主进程中建立一个“任务信息类”数组,其中包含“任务线程类”,一个任务对应一个线程。
2、在主进程中建立一个“任务管理类”,负责处理任务信息类。
简单举例:
1、新建1个“任务管理类”,再新建N“任务信息类”,将“任务信息类”赋值完成加入“任务管理类”,并创建一个“任务线程类”,此时线程开始running。
2、“任务线程类”中有一个内部timing类,监控自己是否执行完成,会改标志。“任务管理类”也有一个timing监控“任务信息类”和“任务线程类”的情况,把完成的结束。
2017-10-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人