1view codeprivate
static
thread subthread ;
2private
static
thread subthread1;
3static
void main(string
args)418
19static
void
getshow()
2025
26static
void getshow(object
obj)
2731 }
thread.sleep()方法用於使當前執行緒暫停指定的時間,然後去執行流程語句。
他的意思是,你可以讓某個執行緒先「謝謝」,讓其他的兄弟先幹活,他歇息「一會兒」後再幹活
1view code//引數: 2//
millisecondstimeout:3//
執行緒被阻塞的毫秒數。 指定零 (0) 以指示應掛起此執行緒以使其他等待執行緒能夠執行。 指定 system.threading.timeout.infinite4//
以無限期阻止執行緒。5//
6public
static
void sleep(int
millisecondstimeout);7//
引數: 8//
timeout:9//
設定為執行緒被阻塞的時間量的 system.timespan。 指定零以指示應掛起此執行緒以使其他等待執行緒能夠執行。 指定 system.threading.timeout.infinite
10//
以無限期阻止執行緒。
11public
static
void sleep(timespan timeout);
常用於需要開啟乙個不停執行某個操作,進行迴圈時候,需要對thread進行阻塞,減少計算機資源的消耗,和合理的控制程式邏輯的執行。
1view codeprivate
static
thread subthread ;
2static
void main(string
args)314
15static
void
getshow()
1623 }
1class
program2秒
",i);21}
22subthread.interrupt();
2324 console.writeline("
主線程結束");
注意:執行緒在休眠的那一刻,被喚醒時,thread.sleep()方法會丟擲異常,所有要用 try catch (exception ex)包起來;
執行緒在沒有休眠的那一刻被喚醒,在後面某一端時間休眠後thread.sleep()方法會丟擲異常,所有進行 try catch (exception ex)異常處理,避免程式死掉。
有點扭嘴,意思就是try catch 避免程式死掉。
9 多執行緒小結(2)
3 合併執行緒 pthread join int pthread join pthread t thread,void ret 第乙個引數為被等待的執行緒識別符號,第二個引數為乙個使用者定義的指標,它可以用來儲存被等待執行緒的返回值。這個函式是乙個執行緒阻塞的函式,呼叫它的函式將一直等待到被等待的執...
9 多執行緒小結(2)
3 合併執行緒 pthread join int pthread join pthread t thread,void ret 第乙個引數為被等待的執行緒識別符號,第二個引數為乙個使用者定義的指標,它可以用來儲存被等待執行緒的返回值。這個函式是乙個執行緒阻塞的函式,呼叫它的函式將一直等待到被等待的執...
多執行緒小結
多執行緒中的4個概念 關鍵段 互斥量 事件和訊號量。其中關鍵段非核心變數,只能用於執行緒間同步問題,而其他的都是核心變數可用於程序間同步。關鍵段和互斥量一般用於互斥,因為他們有執行緒所有權的概念,擁有執行緒所有權的執行緒 通常是主線程 無視約束,可重複進入關鍵段。但是我想在子執行緒之間這個應該是可以...