2014-03-28 29 views
0

有人能指出我如何爲生產者消費者場景實現內核線程的正確方向嗎?另外如果有人能夠告訴我如何在本例的實現中使用內核的雙向鏈表(有界緩衝區)。Pthreads和kthreads

我迄今瞭解如何初始化和使用並行線程,和互斥的程序的同步,但我似乎無法弄清楚如何與內核線程做。

編程語言。即時通訊使用的是C

+0

你能告訴我們更多一點嗎?你的目標是什麼,你有多遠,你卡在哪裏? – user3387542

回答

1

對於概念的一部分,你可以閱讀羅伯特·愛的Linux Kernel Development。這本書通常說,你可以使用的功能,如

struct task_struct * kthread_create (...); 

struct task_struct * kthread_run (...);

struct task_struct * kthread_stop (...); 

管理線程。線程實際上是內核中的輕量級進程。所以如果你還沒有這樣做,你也需要在流程上做功課。

對於消費者 - 生產者問題,這裏有一個例子using pthread

希望這會有所幫助。