2009-11-07 130 views
6

如果我我有一個類,它的run()方法休眠1000毫秒,然後打印「主題」。然後我從主程序啓動該線程,然後讓我的主程序立即睡眠2000毫秒,然後打印「主線程」。概念問題關於Java併發

能夠保證所有的線程將主線程之前打印?

回答

16

都能跟得上。從概念上講,它是可能你正在運行的系統會非常熱鬧,新的線程甚至沒有得到機會運行任何主線程有機會睡,並打印「主線」前。在現實中是不太可能的,當然,但從根本上sleep協調原始。

+0

+1:睡眠根本沒有保證。它可能甚至不會在請求的時間內休眠,因爲它可能會中斷。 – 2009-11-07 00:44:36

+0

在這種情況下,不能保證任何一條消息都將被打印。 ;) – 2009-11-07 01:19:35