函数可以锁定互斥锁吗?

时间:2013-02-14 18:06:33

标签: c multithreading linux-kernel mutex

我正在为一个Linux内核编写一个内存管理器,它在线程之间共享一个循环的PID列表(学校项目)。 该程序使用1个生产者,2个消费者模型找到僵尸并杀死它们。 (强迫我们,以便我们能够理解共享记忆)。

我想将此列表作为一个对象,并且函数处理迭代指针并检查单元格的值。

因此,如果一个线程调用外部函数,那么所述函数是否可以拥有互斥锁?还是必须在线程内完成?

我是否认为这完全错了?

非常感谢 -Jared

1 个答案:

答案 0 :(得分:3)

说'函数'拥有互斥锁并没有多大意义。它是拥有它的线程。所以是的,有可能,无论什么线程称为你的外部函数都拥有互斥锁。

如果你查看你的内核代码来实现线程,你会看到它的一个变量是它拥有的互斥量列表。