1

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

我想让这个列表成为一个对象,并让函数处理迭代指针和检查单元格的值。

那么,如果一个线程调用一个外部函数,该函数可以拥有互斥锁吗?还是必须从线程内完成?

我认为这完全错误吗?

非常感谢-贾里德

4

1 回答 1

3

说一个“函数”拥有互斥锁是没有意义的。它是拥有它的线程。所以是的,有可能,任何调用您的外部函数的线程都将拥有互斥锁。

如果您查看内核代码以了解线程的实现,您会发现其中一个变量是它拥有的互斥锁列表。

于 2013-02-14T18:10:13.487 回答