多线程笔记
1.sleep方法不会释放持有的锁 2.synchronized锁机制。同步代码块,对同意对象申请锁 Thread thread1=new Thread(new Runnable() { @Override public void run() { synchronized (list){ for (int i=0;i<list.size();i++){ System.out.println(list.get(i)); } } } }); Thread thread2=new Thread(new Runnable() { @Override public void run() { synchronized (list){ list.clear(); } } }); thread1.start(); thread2.start(); synchronized方法,作用跟synchronized代码块一样,多个线程在调用不同的synchronized方法时 public synchronized void bianli(){} 静态synchronized方法获得的是当前类的.class对象的锁 对象的wait(),notify()方法,wait会释放锁,其它现成执行,notify会通知等待的线程继续执行。通知所有等待的线程使用notifyAll.当notify的线程执行完