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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冷月霜飞 中级黑马   /  2015-5-15 21:32  /  387 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

同步函数和同步代码块到底有什么区别?什么时候用同步函数?什么时候又用同步代码块呢?

3 个回复

倒序浏览
一个是锁方法 一个是锁对象  .    要具体看你是什么情况??如果是多线程操作同一个对象..  那就锁对象 比如说存钱和取钱时两个方法...操作的都是同一个账户这个时候就要锁账户对象    比如说一个买票的方法 一次只能进去一个人买..那就要锁住这个方法..只让一个线程进入这个方法. . .不知道说的够不够清楚
回复 使用道具 举报
qinpeiwei881211 发表于 2015-5-15 21:43
一个是锁方法 一个是锁对象  .    要具体看你是什么情况??如果是多线程操作同一个对象..  那就锁对象 比如 ...

你是说同步函数是用来锁方法的?同步代码块是用来锁对象的?还不是特别明白,有没有相关的教学视频可以推荐学习一下呢?谢谢师兄回复!
回复 使用道具 举报
这两个其实没什么区别,同步函数使用的锁是 this,而同步代码块可以使用自己定义的对象,或者其他对象,还有就是作用范围,同步函数作用范围广,针对整个函数,而同步代码块只针对一块,有时候不需要同步整个函数中的代码,就不需要同步函数了,而是需要同步代码块
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马