synchronized
synchronized
_七七
delicate.
展开
-
面试题:synchronized与Lock的区别
面试题:synchronized与Lock的区别synchronized是关键字,而Lock是一个接口。synchronized会自动释放锁,而Lock必须手动释放锁。synchronized是不可中断的,Lock可以中断也可以不中断。通过Lock可以知道线程有没有拿到锁,而synchronized不能。synchronized能锁住方法和代码块,而Lock只能锁住代码块。Lock可以使用读锁提高多线程读效率。synchronized是非公平锁,ReentrantLock可以控制是否是公平锁原创 2020-06-23 19:12:23 · 304 阅读 · 0 评论 -
synchronized可重入特性、不可中断特性概念
可重入特性一个线程可以多次执行synchronized,重复获取同一把锁。可重入原理synchronized的锁对象中有一个计数器(recursions变量)会记录线程获得几次锁.可重入的好处可以避免死锁可以让我们更好的来封装代码小结synchronized是可重入锁,内部锁对象中会有一个计数器记录线程获取几次锁啦,在执行完同步代码块时,计数器的数量会-1,知道计数器的数量为0,就释放这个锁。不可中断特性什么是不可中断一个线程获得锁后,另一个线程想要获得锁,必须处于阻塞或等待状.原创 2020-06-23 19:08:07 · 955 阅读 · 0 评论 -
并发编程中的synchronized可见性、原子性、有序性、synchronized保证三大特性
可见性概念可见性(Visibility):是指一个线程对共享变量进行修改,另一个先立即得到修改后的最新值。并发编程时,会出现可见性问题,当一个线程对共享变量进行了修改,另外的线程并没有立即看到修改后的最新值。原子性概念原子性(Atomicity):在一次或多次操作中,要么所有的操作都执行并且不会受其他因素干扰而中断,要么所有的操作都不执行。并发编程时,会出现原子性问题,当一个线程对共享变量操作到一半时,另外的线程也有可能来操作共享变量,干扰了前一个线程的操作。有序性概念有序性(Order原创 2020-06-23 18:31:41 · 1333 阅读 · 0 评论