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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曾_强 中级黑马   /  2012-6-20 16:14  /  1955 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多线程中synchronized中需要定义一个锁对象,并传入。但是这个锁对象为任意的都行,但保证唯一。

有点搞不清楚,
1、定义锁对象的原因?只用synchronized关键字就是作为区分不行吗?为什么非得传入一个锁对象?
2、关于锁对象的任意性?Object类可以作为对象传入,程序中的其他类型对象也可以传入。有什么区别吗?
若是没有区别,任意性原则岂不是没有什么用处,怎么能随便用一个对象来用,还不如不用!

1 个回复

倒序浏览
锁的概念是为了使线程同步,锁对象确实是可以任意的,但一般使用现有内存中的对象来做为锁,不过解锁的过程是需要相同的对象才能解锁呢。。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

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