多线程的启动和连接顺序的差异?

时间:2012-04-14 15:22:44

标签: java android multithreading

我正在开发一个使用线程的Android应用程序。你能告诉我这3段代码之间的区别吗?

首先:

Thread t1 = new Thread (new Class1(param1));
Thread t2 = new Thread (new Class2(param2));

t1.start();
t2.start();

t1.join();
t2.join();

第二

Thread t1 = new Thread (new Class1(param1));
Thread t2 = new Thread (new Class2(param2));

t1.start();
t1.join(); 

t2.start();
t2.join();

第三

Thread t1 = new Thread (new Class1(param1));
t1.start();

Thread t2 = new Thread (new Class2(param2));
t2.start();

t1.join();
t2.join();

另外,如果两个类(class1class2)扩展同一个类Class,会有什么不同?

我仍然需要知道Class1和Class2是否扩展同一个类(MAINCLASS)并实现runnable,是否会发生冲突?换句话说它可以工作吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

1)和3)类似:它们都启动2个线程并等待它们完成。

2)将在开始t2之前等待t1完成,这使得在本例中使用线程有点无意义