2012-03-09 99 views
1

要爲我的應用程序實現我的啓動畫面,我要從主線程開始一個線程,sleep有一段時間並調用了本意。並且工作正常。 但我擔心的是我們是否需要在主線程上等待? (目前我沒有這樣做) 如果主線程先完成,將會發生什麼情況以及如何處理這種情況?Android:如果主線程在工作線程之前完成,會發生什麼?

感謝, Venkat

+0

主線程不能完成,這是變量範圍壽命的問題。所以「子」線程在主線程的範圍內被創建和初始化,所以它在活着的時候 - 主線程也會活着 – sll 2012-03-09 20:05:18

回答

0

主線程本身不能是 「侍候」。當仍有非守護進程的子線程仍在運行時,應用程序無法退出。

如果在啓動它們之前將子線程設置爲守護進程,它們將在應用程序退出時立即終止。

+0

Thx都鐸王朝,所以我不需要等待主方法,並且我現有的代碼足夠安全,對? – 2012-03-09 18:21:42

+0

是的,這是正確的。 – Tudor 2012-03-09 18:29:27

1

使用此代碼啓動畫面:「子」線程在運行之前

Handler handler=new Handler(); 
Runnable r=new Runnable() 
{ 
    public void run() 
    { 
     // start another activity      
    } 
}; 
handler.postDelayed(r, 5000); // wait 5 second 
+0

這是正確的答案。當runnable可以在處理程序中爲您執行相同的操作時,無需啓動線程! – Josh 2012-03-09 17:31:21

相關問題