如题
问题描述:
1、设计程序write,read线程,wirte线程从消息队列尾端tail写入,read线程从消息队列头部head读取。
2、当写线程执行效率非常快,会发生什么情况?
3、当读线程执行效率非常快,会发生什么情况?
读线程要用循环,当读取不到数据,就等待新数据写入。写线程也要有判断,发现满了就要等待写入
读的快,会发生读不到数据问题,写的快,问题不大,就是就是要考虑是不是造成缓冲区溢出
问题1,自己google 生产者消费者 + 你用的语言
写线程快,那么队列会满,上溢
读线程快,那么队列会空,下溢
大纲:
零。关于同步与互斥的多线程编程(一般思路)
1. 申请“信号量”句柄,初始化信号量。 (HANDLE ...)
2. 创建使用上线程的函数(函数中需要用到信号量)。(CreateSemaphore(...))......
答案就在这里:简单的多线程编程_同步与互斥问题
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。
应该在读取之前先检查是否有数据可以读,没有的话就等待到有数据为止。写线程写之前应该先检查是否已满。
队列in out加个互斥不得了。