同步锁

同步锁

2024-07-25
暂无分类

公平锁: 每个线程获取锁的顺序是按照线程访问锁的先后顺序获取的,最前面的线程总是最先获取到锁。公平锁的优点是按序平均分配锁资源,不会出现线程饿死的情况,它的缺点是按序唤醒线程的开销大,执行性能不高

非公平锁: 每个线程获取锁的顺序是随机的,并不会遵循先来先得的规则,所有线程会竞争获取锁。非公平锁的优点是执行效率高,谁先获取到锁,锁就属于谁,不会“按资排辈”以及顺序唤醒,但缺点是资源分配随机性强,可能会出现线程饿死的情况。synchronize是非公平锁

在 Java 语言中,锁的默认实现都是非公平锁,原因是非公平锁的效率更高

THE END
0/500
暂无评论