在 cpu
单核心情况下,jvm
多线程并发运行(交替运行),线程争抢 sync
锁是有前后顺序的,同步锁正常生效;但在 cpu
多核心情况下,jvm
多线程并行运行,当多线程同一时刻到达则以什么为标准判断哪个线程该获取锁呢?
在 cpu
单核心情况下,jvm
多线程并发运行(交替运行),线程争抢 sync
锁是有前后顺序的,同步锁正常生效;但在 cpu
多核心情况下,jvm
多线程并行运行,当多线程同一时刻到达则以什么为标准判断哪个线程该获取锁呢?
synchronized的底层是使用操作系统的mutex lock实现的。
mutex也就是互斥锁,其使用sleep和wakeup原语,保证同一时刻只有一个线程进入临界区代码片段。至于系统允许哪个线程先进入临界区,这个得去看看操作系统原理了。
15 回答8.4k 阅读
8 回答6.2k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
1 回答2.9k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
不知道我说明白没