0
我正在开发一个使用线程的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();
而且,它怎么会是不同的,如果这两个类(class1
和class2
)延长同一类Class
?
我仍然需要知道Class1和Class2是否扩展相同的类(MAINCLASS)并实现可运行,是否会发生冲突?换句话说它可以工作吗? 谢谢。
的t1.join()方法只是使您的当前线程等待T1线与继续之前结束有些无意义前完成下一条指令。 – barsju 2012-04-14 15:34:14
如果两个类扩展相同的类并实现可运行,functon之间的冲突是否会发生? – Adroidist 2012-04-14 16:42:56
函数不会与它们自我冲突。冲突只会在相同数据的工作中出现。所以你必须考虑方法正在处理的变量和字段。如果共享这些变量(数据)的实例,则必须考虑是否可能出现潜在的冲突。如果他们一直在不同的实例上工作,那么不会有任何问题。 – barsju 2012-04-14 17:52:04