我正在为一个Linux内核编写一个内存管理器,它在线程之间共享一个循环的PID列表(学校项目)。 该程序使用1个生产者,2个消费者模型找到僵尸并杀死它们。 (强迫我们,以便我们能够理解共享记忆)。
我想将此列表作为一个对象,并且函数处理迭代指针并检查单元格的值。
因此,如果一个线程调用外部函数,那么所述函数是否可以拥有互斥锁?还是必须在线程内完成?
我是否认为这完全错了?
非常感谢 -Jared
答案 0 :(得分:3)
说'函数'拥有互斥锁并没有多大意义。它是拥有它的线程。所以是的,有可能,无论什么线程称为你的外部函数都拥有互斥锁。
如果你查看你的内核代码来实现线程,你会看到它的一个变量是它拥有的互斥量列表。