注意事项:
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监控“任务信息类”和“任务线程类”的情况,把完成的结束。
2021-09-24 14:18:32
32KB
PB9
多线程
1