子執行緒和 主線程 互換

2022-06-22 13:27:08 字數 675 閱讀 3218

package demo;

/** * 子執行緒迴圈5次,主線程迴圈10次。依次交替。整個交替迴圈3次

* */

public class threadtest

static void init()

}}).start();

new thread(new runnable()

}}).start();

}}

print:

package demo;

/** * 兩個方法之間互斥 (方法裡面完整執行完),用 sflag實現 開關控制 兩個方法的切換

* */

public class print catch (interruptedexception e)

} for(int i=1;i<=num;i++)sflag = false;

this.notifyall();}

public synchronized void mainprint(int num) catch (interruptedexception e)

} for(int i=1;i<=num;i++)sflag = true;

this.notifyall();}

}

主線程和子執行緒

子執行緒通過 handlerthread的thread.getlooper 繫結,在主線程的handler的handlermessage中呼叫threadhandler.sendmessagedelay msg,1000 向子執行緒傳送訊息。在子執行緒中通過handler.sendmessagede...

主線程和子執行緒

主線程負責管理由它建立的子執行緒,建立 啟動 掛起 停止等。主線程通過發訊息的方式管理子執行緒,例如,給子執行緒傳送start 訊息,子執行緒啟動,子執行緒執行入口的run 方法。thread有下面兩個構造方法 thread runnable target,string name thread ru...

主線程和子執行緒總結

執行結果 從上面可以看到 如果主線程和子執行緒是並行的,雖然都是用while 1 但是倚靠 cpu的排程,主線程和子執行緒都有機會得到執行。如果要在子執行緒裡面改變主線程裡面的資料,就在 pthread create 裡面的最後 乙個引數使用傳位址呼叫 void c,否則使用傳值呼叫 void c ...