A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈建华 中级黑马   /  2012-12-6 02:02  /  1568 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在java中多线程的实现是依靠同步机制来实现的。而同步机制的实现原理是什么呢?
在java中每一个对象都有一个对应的所对象和一个集合对象与之关联,当我们在对内存中创建一个对象实际上在虚拟机中创建了3个对象。当使用synchronized关键字的时候,其他对象首先会去找你想访问对象关联的那个所对象,如果这个所对象没有被别的对象使用,那么就使用此对象,并将所对象的状态改变,当有第二个对象想使用此对象的时候,也是去查找关联的所对象,当发现锁的状态为不可用,那么就会在关联的集合中存放起来。来一个,集合中就存放一个。当第一个对象使用完毕,就将锁设置为可用状态,在关联的集合中的对象就有可能被唤醒,争抢CPU的执行权。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马