黑马程序员技术交流社区

标题: 关于 线程 Thread 的一些问题 [打印本页]

作者: FateYin    时间: 2015-8-6 23:45
标题: 关于 线程 Thread 的一些问题
class MyThread  implements Runnable
问题:
第一种:
MyThread a=new MyThread();
Thread A1=new Thread(a);
Thread A2=new Thread(a);
A1.start(); A2.start();


第二种:
MyThread a=new MyThread();
MyThread b=new MyThread();
Thread A1=new Thread(a);
Thread A2=new Thread(b);
A1.start(); A2.start();
请问这2种情况,运行结果不一样,它们本质的区别到底在哪里?

作者: 真实姓名被注册    时间: 2015-8-7 00:30
第一种两个线程开启后,其实是在调用同一个对象的run()方法
第二种两个线程开启后,各自调用不同对象的run()方法,互不影响
作者: boboyuwu    时间: 2015-8-7 11:59
区别就是上面2个线程都运行a里面数据  下面的2个线程分别运行2个a里面数据各运行各的互不相干
作者: 晓月残魂    时间: 2015-8-7 12:16
第一种:新建线程时,使用的是同一个MyThread对象,即两个线程拥有了共同资源,公共数据,
第二种:用两个MyThread对象建立了两个线程,这两个线程没有公共资源,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2