我正在观看关于高性能计算的演讲,从 24:55 开始,一位演讲者表示,通过获取锁进行同步需要将上下文切换到操作系统的内核(如果应用程序的话,甚至不是虚拟机的内核)运行在一个)。我希望能简要解释一下为什么会这样以及为什么它不能在 JVM 内部处理(如果是 Java 应用程序)。
问问题
128 次
1 回答
0
从 24:55 左右的视频来看,他们似乎正在讨论“获取互斥锁 - 进入临界区 - 释放互斥锁”。
同步依赖于获取互斥锁是一个原子操作这一事实。由于内核中发生了抢占,因此当多个进程试图获取/释放互斥锁时,内核需要处理互斥锁以保证其原子性。
有关更多信息,请参见此处:互斥锁真的更慢吗?
于 2012-11-24T23:57:01.550 回答