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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

视频中提供了如何找问题的步骤

1,明确哪些代码是多线程运行代码
2,明确哪些是共享数据
3.明确多线程运行代码中哪些语句是操作共享数据的


对于第二条不是很理解,到底什么是共享数据??毕老师说一般成员都是共享数据?为什么?

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
共享数据的确定是相对调用数据的对象而言的
就是说要确定哪些是共享数据首先要确定使用数据的对象

不是所有的成员都是共享数据,是毕老师视频中的那俩个成员       
private Bank b=new Bank();和 int sum=0;刚好是共享数据,所以他那么说

这个程序因为只创建了1个cus和bank对象。而两个线程都是对这同一个对象进行存储操作的,所以对这两个线程来说。对象B和变量SUM是他俩同时共享的

还有比如类中的静态变量对于所有使用该类创建的对象都是共享数据


个人理解。。。不对求指正
回复 使用道具 举报
我的理解为:一个对象中 被多个进程中函数操作的  属性  为共享数据。

如视频中Bank b=new Bank();

b中的sum为共享数据。

回复 使用道具 举报
本帖最后由 李建强 于 2012-10-14 17:29 编辑

一般同步代码块中,同时用到的资源。
一般成员都是共享数据只是这个例子而已
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马