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