
多线程
宇佐见莲子w
普通的大学生。
展开
-
多线程笔记(二)
一、ReentrantLock可重入锁Lock lock = new ReentrantLock();lock.lock();手动加锁必须手动释放锁。即使线程中途抛出异常也不会释放锁,因此一般在finally里lock.unlock();ReentrantLock和synchronized的区别在于ReentrantLock可以尝试获取锁,而synchronized获取锁后会使后面...原创 2020-01-10 10:30:01 · 120 阅读 · 0 评论 -
多线程笔记(一)
Q1.一个类中同时有synchronized和非synchronized方法,一个线程调用synchronized方法时,另一个线程能不能调用非synchronized方法?A1.能。因为第二个线程调用非synchronized方法时,不需要申请堆内存里的锁。就像第一个线程去上厕所把门锁住了,第二个线程去厨房,不需要进厕所,所以可以调用。注意synchronized方法锁定的是调用该方法的对象...原创 2020-01-08 11:25:51 · 117 阅读 · 0 评论