日期:2014-05-16  浏览次数:20723 次

进程对串口读写时使用互斥机制吗?
进程对串口读写时有互斥机制在里面吗?在的话互斥存在于哪个环节呢?就是谁跟谁的互斥?
我自己的感觉是不存在,因为我用两个进程同时读串口时,都能读到一部分数据。如果想实现串口读写进程之间的互斥该怎么做?
谢谢!

------解决方案--------------------
应该是 串口 返回一个状态,说明有进程在用。
你别的进程用的时候要先判断这个状态。
------解决方案--------------------
在用户空间很难做这种block,因为你没有办法接收硬件的信号。不过你可以模拟:
两个线程:一个专用来读串口,一个用来等消息。
开一个线程在不断读串口,没有数据就休眠一下,如果有数据就通知再等待的那个线程。看起来,在等待的数据的线程就象是被read阻塞了。

但在做这个之前,是不是应该看看系统有没有提供这种阻塞型的读?^_^