一:基础概念1:什么是线程同步线程同步就是共享资源有锁,同一时间只有一个线程访问他2:实现同步的方式synchronized或者ReentrantLock或者并发工具类。3:synchronized和ReentransLock1:ReentransLock需要手动加锁,获取不到锁就返回false。不傻等,还能设置超时时间。2:俩都是非公平锁,ReentransLock填写true就是公平锁。3:ReentransLock可中断:等锁的时候可以被打断。4:ReentransLock一个锁可以绑定多Condition可以分组唤醒,S只能随机唤醒或唤醒全部。4:有哪些并发工具类CountDownLatch、CyclicBarrier、Semaphore5:synchronized 锁的是什么?锁对象和锁 Class 有什么区别?synchronized 修饰实例方法,锁的是当前对象 this;修饰静态方法,锁的是当前类的 Class 对象。锁对象只能阻塞访问同一个对象的线程,不同对象之间互不影响,锁 Class 是全局的,不管创建多少个实例,所有线程访问这个静态方法都要竞争同一把锁。所以静态同步方法要慎用,容易变成性能瓶颈。修饰实例方法:锁的是当前实例对象this