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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我们知道synchronized可以同步方法,和代码块。我在想为啥不把代码块包装成一个方法,然后同步这个方法就行了??如:
synchronized(obj){

//对obj进行操作的代码
}

然而,可以直接把需处理的代码块包装在方法中,然后把方法同步?。


public  synchronized void Test()  {

//对obj进行操作的代码
}

1 个回复

倒序浏览
如果你的同步方法里有许多其他代码块而这些代码块有无需进行同同步,而要同步的代码块很少,这不是降低程序的效率吗!通过同步块而不是整个方法进行同步会使多个任务访问对象的时间得到显著提高。

评分

参与人数 2技术分 +1 黑马币 +10 收起 理由
李成航 + 10 很给力!
职业规划-刘倩老师 + 1 赞一个!

查看全部评分

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