2012-10-09 143 views
4

在我的应用程序中,我有2个线程加上主线程。线程安全队列实现

一个线程是在发生中断时从I/O模块获取数据(4096字节到缓冲区)。另一个线程是使用这些数据(进程和格式并将数据写入文件)。

什么是最好的方法来实现这一目标?

我不能丢失生产者线程以快速发生的数据。

任何我可以研究的例子将不胜感激。

我想实现线程安全队列,并有一个困难时间。

对不起,我忘了包括平台和其他信息。 我正在使用Windows XP(32位)和Microsoft Visual Studio 5.0编译器。

+1

这将取决于操作系统/平台,你打算目标上。据我所知C不提供线程原语作为标准。 (最接近它的可能是pthreads,但这在每个平台上都不可用。) –

+1

嗯,c11提供了线程,但是支持是,我们应该说是间歇性的:-) – paxdiablo

+1

是的,您正在使用哪种平台/体系结构/编译器? –

回答

1

我将在POSIX平台上做一个假设。

使用mutex

那么消费者可以尼克蛴螬,而生产者是盲目的。

抱歉Metaphor

+0

'mUtex',而不是'mEtex' – fork0

+0

@ fork0 - 糟糕。更正了帖子。 –