這是一個非常刁鉆和狡猾的問題。請記住:線程類的構(gòu)造方法、靜態(tài)塊是被 new這個線程類所在的線程所調(diào)用的,而 run 方法里面的代碼才是被線程自身所調(diào)用的。
如果說上面的說法讓你感到困惑,那么我舉個例子,假設(shè) Thread2 中 new 了Thread1,main 函數(shù)中 new 了 Thread2,那么:
1. Thread2 的構(gòu)造方法、靜態(tài)塊是 main 線程調(diào)用的,Thread2 的 run()方法是Thread2 自己調(diào)用的
2. Thread1 的構(gòu)造方法、靜態(tài)塊是 Thread2 調(diào)用的,Thread1 的 run()方法是Thread1 自己調(diào)用的