1.Synchronized 用法
1.类锁
锁静态方法,Class,只有一个线程可以获得,只有一份,不管是否是同一个实例
2.对象锁
普通对象,this,如果多个线程,用到的实例时一个,并且锁也是该实例,那么只有一个线程可以获得,如果多个线程都是使用的自己的实例,那么久不存在竞争
3. 示例
package com.pgf.juc.synchronizedT;
import java.util.Date;
/**
* @Auther: pgf
* @Date: 2020/3/4 0004
* @Description: com.pgf.juc
* @ToDo: synchronized 锁类、方法、块
* @version: 1.0
*/
public class SynchronizedTest {
/*对象锁*/
public synchronized void synMethod() throws InterruptedException {
System.out.println(Thread.currentThread().getName() +" i m synchronized method");
Thread.sleep(3000);
System.out.println(Thread.currentThread().getName() +new Date());
}
/*类锁*/