synchronized
两种用法:修饰方法、修饰块
作用都是一样。
如果一个线程执行到了synchronized修饰的代码、那么他需要获取当前实例锁才能执行,如果当前实例锁被其他线程拥有,那么就只能等待拥有该实例锁的线程执行完成后才能执行该块代码.
锁分两种:实例锁(synchronized)和对象锁(static synchronized)
synchronized是对类的当前实例进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块
static synchronized是要控制类的所有实例的访问了,它是限制线程同时访问jvm中该类的所有实例同时访问对应的代码块
两种用法:修饰方法、修饰块
作用都是一样。
如果一个线程执行到了synchronized修饰的代码、那么他需要获取当前实例锁才能执行,如果当前实例锁被其他线程拥有,那么就只能等待拥有该实例锁的线程执行完成后才能执行该块代码.
锁分两种:实例锁(synchronized)和对象锁(static synchronized)
synchronized是对类的当前实例进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块
static synchronized是要控制类的所有实例的访问了,它是限制线程同时访问jvm中该类的所有实例同时访问对应的代码块