佚名通过本文主要向大家介绍了
如何在com组件中使用多线程?看看我的要求,能用其他方法解决吗?有好的建议就给分,能解决问题再开贴给200分等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 如何在com组件中使用多线程?看看我的要求,能用其他方法解决吗?有好的建议就给分,能解决问题再开贴给200分
描述:
解决方案1:
描述:
描述下需求:
外面调用down函数(组件接口函数),down函数要做的工作为处理串口来的数据请求并给相应回应,对于一次应用来说,串口在不同的时间可能收到多次请求,这多次请求合为一个应用(某一次请求有应用结束标志),这次应用结束,down函数返回
我的想法是在down中启动一个串口接收线程,当应用结束后,杀死线程,如何做?
能跟在普通程序中一样去写多线程吗?
还有,外边调用的时候可能需要等待down函数的返回值,而down函数可能执行时间很长,如果我在down函数里不使用线程而使用while循环,外边程序会死掉吗?
使用while循环能解决上面问题吗?
解决方案1:
Down中不要开线程。
用PostMessage()
你的意思是说多次调用down,在调用时组件先判断应用是否开始,开始则接收数据,否则打上标志,等到结束标志来时再关闭标志?
如果是这样,那更本没有什么多线程,用一个成员变量记录标志,在down中根据标志执行不同的任务就行了。
如果不是这样请说明