线程
gq0811
这个作者很懒,什么都没留下…
展开
-
线程的基本方法-重入锁ReentrantLock(一)
说到ReentrantLock,肯定要提一下synchronized,两者都是解决并发的重要工具。在jdk5的版本,重入锁的性能是好于synchronized,但是从6开始,jdk对synchronized做了很多的优化,目前两者性能相差不大,官方建议synchronized的方式。说一下两者的相同点和不同点:相同点:(1)都是可重入锁,同一个线程每进入一次,锁的计数器都自增1,等...原创 2019-04-08 20:33:27 · 157 阅读 · 0 评论 -
线程的基本方法-重入锁ReentrantLock(二)
这一部分重点解析一下公平锁和非公平锁:背景:默认情况下,ReentrantLock采用的是非公平锁,即不排队的方式。当一个线程释放锁之后,其他线程是随机获取这把锁。synchronized不支持公平的设定,而ReentrantLock提供方法设置线程的公平性。1.创建 public ReentrantLock() { sync = new Nonfai...原创 2019-04-08 20:32:39 · 113 阅读 · 0 评论