[求助]学习线程时的一个困惑,new Thread(Runnable r)
class Think implements Runnable {
public void run(){
for(int i = 0;i<2000;i++) {
String s = Thread.currentThread().getName();
System.out.println(s + " : " + i);
}
}
}
public class ThinkThread {
public static void main(String[] args) {
Think t1= new Think();
Thread th1 = new Thread(t1);//-----块1
Thread th2 = new Thread(t1);//-----块1
/*---块2
Think t1= new Think();
Think t2= new Think();
Thread th1 = new Thread(t1);
Thread th2 = new Thread(t2);
*/
th1.start();
th2.start();
}
}
在学习线程时的一个困惑:就是上面块1和块2的两种创建两个线程th1,th2的这两种写法有什么不同?想不出这块1创建的th1,th2之间是什么关系,块2创建的th1,th2之间又是什么关系.只听人说块1会起到一个共享数据的作用,不过还是想不通.共享哪里的数据了?还是块2跟块1没什么区别,只是块1比块2少创建了一个Think对象?
想了好多天了,一直想不出个道道来,请大家能够帮帮我,最好说的详细点,小弟在这谢了!!!
另外还有就是这两个线程th1,th2和主线程这间是什么关系.