synchronized 不可中断
原子性内置锁 监视器锁 排它锁
获取:
线程的执行代码在进入synchronized代码块前会自动获取内部锁,这时候其他线程访问该同步代码块时会被阻塞挂起。
释放:
拿到内部锁的线程会在
正常退出同步代码块或者
抛出异常后或者
在同步块内调用了该内置锁资源的wait系列方法时
自动释放该内置锁
上下文切换:
java中的线程是与操作系统的原生线程一一对应的,所以当阻塞一个线程时,需要从用户态切换到内核态执行阻塞操作
synchronized 不可中断
原子性内置锁 监视器锁 排它锁
获取:
线程的执行代码在进入synchronized代码块前会自动获取内部锁,这时候其他线程访问该同步代码块时会被阻塞挂起。
释放:
拿到内部锁的线程会在
正常退出同步代码块或者
抛出异常后或者
在同步块内调用了该内置锁资源的wait系列方法时
自动释放该内置锁
上下文切换:
java中的线程是与操作系统的原生线程一一对应的,所以当阻塞一个线程时,需要从用户态切换到内核态执行阻塞操作