当前位置: 技术问答>linux和unix
进程对串口读写时使用互斥机制吗?
来源: 互联网 发布时间:2016-05-12
本文导语: 进程对串口读写时有互斥机制在里面吗?在的话互斥存在于哪个环节呢?就是谁跟谁的互斥? 我自己的感觉是不存在,因为我用两个进程同时读串口时,都能读到一部分数据。如果想实现串口读写进程之间的互斥该...
进程对串口读写时有互斥机制在里面吗?在的话互斥存在于哪个环节呢?就是谁跟谁的互斥?
我自己的感觉是不存在,因为我用两个进程同时读串口时,都能读到一部分数据。如果想实现串口读写进程之间的互斥该怎么做?
谢谢!
我自己的感觉是不存在,因为我用两个进程同时读串口时,都能读到一部分数据。如果想实现串口读写进程之间的互斥该怎么做?
谢谢!
|
在用户空间很难做这种block,因为你没有办法接收硬件的信号。不过你可以模拟:
两个线程:一个专用来读串口,一个用来等消息。
开一个线程在不断读串口,没有数据就休眠一下,如果有数据就通知再等待的那个线程。看起来,在等待的数据的线程就象是被read阻塞了。
但在做这个之前,是不是应该看看系统有没有提供这种阻塞型的读?^_^
两个线程:一个专用来读串口,一个用来等消息。
开一个线程在不断读串口,没有数据就休眠一下,如果有数据就通知再等待的那个线程。看起来,在等待的数据的线程就象是被read阻塞了。
但在做这个之前,是不是应该看看系统有没有提供这种阻塞型的读?^_^
|
应该是 串口 返回一个状态,说明有进程在用。
你别的进程用的时候要先判断这个状态。
你别的进程用的时候要先判断这个状态。