在同步函数中处理阻塞?

时间:2014-04-05 23:01:40

标签: c operating-system blocking

我基本上必须为操作系统创建一个简化的设备控制器。我需要创建同步和异步函数来将一个数据字输入/输出到一个队列,当"设备"准备就绪,它已经发出信号。功能返回。同步功能阻塞自己,直到设备从队列中删除该字。信号功能(输出),直到请求满足(输入)。

我不确定如何处理他们需要阻止的同步功能,直到处理请求为止。如何实现阻止方面?使用pthread锁会做我需要的吗?

感谢。

1 个答案:

答案 0 :(得分:1)

如果您在用户空间:是的,请使用pthread互斥锁。对于消费者,如果没有可用数据,您将pthread_mutex_lock。在生成器上,在将新数据提交到队列后,您将pthread_mutex_unlock