Android_Question
Android_Question copied to clipboard
synchronized和lock的区别?
-
synchronized会主动释放锁,而lock需要手动调用unlock释放锁;
-
synchronized是java内置的关键字,而lock是个java类;
synchronized关键字的两个线程1和线程2,如果当前线程1获得锁,线程2线程等待。如果线程1阻塞,线程2则会一直等待下去,而Lock锁就不一定会等待下去,如果尝试获取不到锁,线程可以不用一直等待就结束。 synchronized的锁可重入、不可中断、非公平,而Lock锁可重入、可判断、可公平(两者皆可)