/*** @author: ChenforCode* @date: 2019年4月9日 17:58* @description: 代码块对象锁*/public class SynchronizedObjectCodeBlock2 implements Runnable {private static SynchronizedObjectCodeBlock2 instance = new SynchronizedObjectCodeBlock2();Object lock1 = new Object();Object lock2 = new Object();@Overridepublic void run() {synchronized (lock1) {System.out.println("线程" + Thread.currentThread().getName() + "进入lock1");try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("线程" + Thread.currentThread().getName() + "结束,释放lock1");}synchronized (lock2) {System.out.println("线程" + Thread.currentThread().getName() + "进入lock2");try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("线程" + Thread.currentThread().getName() + "结束,释放lock2");}}public static void main(String[] args) {Thread t1 = new Thread(instance);Thread t2 = new Thread(instance);t1.start();t2.start();while (t1.isAlive() || t2.isAlive()) {}System.out.println("finish");}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。