特牛生活网

【精选】Linux利用共享内存实现多进程通信非堵塞FIFO_linux fifo 数据取出后 不阻塞了-CSDN博客

网友收藏
文章浏览阅读661次。最近传输音视频流数据用到了共享内存进行多线程通信,遇到了一些bug。就想着自己实现一个比较可靠的多线程共享数据通信。搞了一天,其中也遇到了一点坑,坑了我很久,记录一下,避免日后再踩坑。 首先,共享内存属于多进程的共享资源,必须保证读写是安全的,要确保一个进程在写的时候不能被读,在一个进程读的时候,其他进程不能写。所以可以选择信号量做同步,也可以选择互斥量做同步。这里我选择了互斥量,因为互斥量时间开销比信号量小,而且后续可以结合条件变量做成堵塞的FIFO(First In First Out..._linux fifo 数据取出后 不阻塞了