线程同步问题,很头大,求高手指点
问题是这样的,在while(1)循环里不断从串口接收数据,如果有数据了有一个函数就要把数据取出来,我要用什么方法进行线程同步,让外面这个函数知道,while循环里已经取到数据了,然后把他取出来。这样一个问题用那种同步方法比较合适,望高手指点一二
[解决办法]
接到数据后放到内存列表中,后台开一个线程,循环从列表中拿数据处理
[解决办法]
这个数据只出现一次,如果用你的这个方法,会不会还没来得及拿数据,就已经被新来的数据给覆盖了
[解决办法]
msdn search mutex event semaphore waitable timer
[解决办法]
mutex 和 condition variable
[解决办法]
在有数据的线程中向外发送一个事件(消息),在事件(消息)处理函数中包含你的那个函数即可。事件(消息)带的参数就是数据。
[解决办法]
While里面暂停接收,然后调用事件,把已有数据处理完了,再继续接收
[解决办法]
C++可以用临界区、互斥和事件通知还实现线程同步,有窗体的可以用消息
[解决办法]
用临界区、互斥和事件通知实现线程同步
我就是用的临界区,把接收到的数据存入队列,用的时候再出队操作就行了
[解决办法]
通知读取函数用消息:
对数据同步用EVENT 事件
[解决办法]
发送消息吧,把要用的数据作为其中一个参数发送出来~
[解决办法]
使用事件内核对象或者IO完成端口同步机制。事件对象相对于IO完成端口机制比较简单些,而IO完成端口机制性能更好,伸缩性也更强。如果对性能要求不是很高的话,请使用事件内核对象同步机制。