Pthreads和kthreads

时间:2014-03-28 01:33:06

标签: android linux pthreads kernel semaphore

有人能指出我如何为生产者消费者场景实现内核线程的正确方向吗?此外,如果有人可以告诉我如何在本例的实现中使用内核的双向链表(有界缓冲区)。

到目前为止,我已经了解了如何初始化和使用pthreads以及用于同步程序的互斥体,但我似乎无法弄清楚如何使用内核线程来实现它。

前卫。我用的是C

1 个答案:

答案 0 :(得分:1)

对于概念部分,您可以阅读Robert Love的Linux Kernel Development。这本书通常说你可以使用像

这样的功能
struct task_struct * kthread_create (...);

struct task_struct * kthread_run (...);

struct task_struct * kthread_stop (...);

管理线程。线程实际上是内核中的轻量级进程。因此,如果您还没有这样做,那么您还需要在流程上做好功课。

对于消费者 - 生产者问题,这里有一个例子using pthread

希望这会有所帮助。