摘要: synchronized修饰的对象lock在做交换时: 首先在线程中创建一个锁记录 ,lock对象的头markword和 如上图:lock记录有一个指针指向对应的对象的地址,首先判断flag==01? 如果flag为00,那么表示这个锁被其他线程占用,如果为01,那么可以执行markword和loc 阅读全文
posted @ 2020-07-20 20:09 七月在野,八月在宇 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 每一个对象指向一个monitor(管程):monitor中owner表示当前线程拥有锁,owner指向对应方法的起始地址,而且owner一次只能被一个线程使用,当一个线程临界区拥有锁时,其他线程都在entryList中等待被唤醒,当锁owner指向的对象被释放(方法区中的代码被执行完了),其他线程被 阅读全文
posted @ 2020-07-20 18:07 七月在野,八月在宇 阅读(143) 评论(0) 推荐(0) 编辑