java 线程··

来源:百度知道 编辑:UC知道 时间:2024/05/19 20:18:21
xianc4 a1=new xianc4();
xianc4 a2=new xianc4();
Thread t1=new Thread(a1);
Thread t2=new Thread(a2);与
xianc4 a1=new xianc4();
Thread t1=new Thread(a1);
Thread t2=new Thread(a1); 在操作变量上 有什么区别

一个不共享,一个共享。

第一种情况中
t1,t2互不相关,t1 操作 a1 对象,t2 操作 a2 对象

第二种情况中
t1,t2 同时对 a1 对象进行操作(a1 被共享了),可能会要求用到同步机制

a1,a2现在是两个不相关的实例,所以t1,t2的操作是分开的不会彼此影响操作的结果。
而下面的t1,t2的操作都会改变a1的最终结果