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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zclove898 高级黑马   /  2011-12-19 14:24  /  1673 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 zclove898 于 2011-12-19 14:57 编辑

在多线程中,同步代码块封装代码和函数封装代码有什么不同

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

4 个回复

倒序浏览
个人理解,直接对函数(方法)进行同步修饰封装,其效率应该没有只对代码块封装的高。
回复 使用道具 举报
函数封装的同步,锁是this对象。  同步代码块用的锁则是synchronized()括号里的对象。

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
恩,理解一些了
回复 使用道具 举报
同步代码块更妥帖,如果把synchronized用做方法的修饰字,整个方法都将视作同步块,这可能会使持有锁定标记的时间比实际需要的时间要长,,从而降低效率,另外,使用同步代码块来标记可以提醒用户同步在发生,可以避免死锁。

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马