1.线程锁Lock/ReentrantLock
package com.test.lock;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;//线程锁,通常用于替换synchronized,比synchronized更加面向对象public class LockTest { static class Outputer{ Lock locks=new ReentrantLock(); //方法1 public void output1(String name){ int len=name.length(); locks.lock();//确保完整输出chenxiaobing后再输出donyanxia try{ for(int i=0;i