由于malloc导致的抢占

时间:2018-07-03 09:11:54

标签: linux malloc

我正在考虑以下情况,我想再次与您确认。

一个Linux进程,其中两个或多个线程在不同的内核上并行运行。假设他们都以相同的数量调用malloc,这样malloc就不必调用mmap。换句话说,堆足够大,并且(以前)通过其他sbrk调用增加了。在这种情况下,内存分配完全在用户空间中。通过查看git hub,我发现有一个互斥锁可以保护malloc使用的内部数据结构。

我的问题是,考虑到线程试图获取相同的锁,内核可以抢占线程吗?换句话说,一个线程在执行过程中将受到损失,因为另一个线程已经获得了该锁。

谢谢

0 个答案:

没有答案