
//copyright?liupengcheng //http://m.survivalescaperooms.com/liupengcheng
/** * join public final void join() throws InterruptedException等待該線程終止。
拋出: InterruptedException - 如果任何線程中斷了當前線程。當拋出該異常時,當前線程的中斷狀態 被清除。 下面的例子 通俗的講,就是A調用join方法后,只有等A所在的線程不再運行,才會將進程分配出去 * */
//copyright?liupengcheng //http://m.survivalescaperooms.com/liupengchengpublic class joinThread { public static void main(String [] args) throws Exception{ ThreadTest5 t = new ThreadTest5(); Thread A = new Thread(t); Thread B = new Thread(t); A.start(); A.join(); //此處A調用 Thread的join方法,主函數將線程分配給A,當A運行完畢后,才會將線程釋放出去。給其他的對象。 B.start(); for (int i = 1;i < 20;i++) { System.out.PRintln("樹上掉蘋果"+ i); } System.out.println("蘋果沒了"); } }
//copyright?liupengcheng //http://m.survivalescaperooms.com/liupengchengclass ThreadTest5 implements Runnable { public void run() { for (int i = 1;i < 10;i++) { System.out.println(Thread.currentThread().getName()+"吃蘋果"+(i)); } } }
//copyright?liupengcheng //http://m.survivalescaperooms.com/liupengcheng/** * 運行結果為 * Thread-0吃蘋果1 Thread-0吃蘋果2 Thread-0吃蘋果3 Thread-0吃蘋果4 Thread-0吃蘋果5 Thread-0吃蘋果6 Thread-0吃蘋果7 Thread-0吃蘋果8 Thread-0吃蘋果9 樹上掉蘋果1 樹上掉蘋果2 樹上掉蘋果3 樹上掉蘋果4 樹上掉蘋果5 樹上掉蘋果6 Thread-1吃蘋果1 樹上掉蘋果7 Thread-1吃蘋果2 樹上掉蘋果8 Thread-1吃蘋果3 樹上掉蘋果9 Thread-1吃蘋果4 樹上掉蘋果10 Thread-1吃蘋果5 樹上掉蘋果11 Thread-1吃蘋果6 Thread-1吃蘋果7 Thread-1吃蘋果8 Thread-1吃蘋果9 樹上掉蘋果12 樹上掉蘋果13 樹上掉蘋果14 樹上掉蘋果15 樹上掉蘋果16 樹上掉蘋果17 樹上掉蘋果18 樹上掉蘋果19 蘋果沒了
Thread-0 值得就是A所在的線程,當A所在的線程運行完畢后,之后的線程由main主函數和B進程爭奪。 */
//copyright?liupengcheng //http://m.survivalescaperooms.com/liupengcheng新聞熱點
疑難解答