2012-10-09 186 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 - 糟糕。更正了帖子。 –