執行緒學習3 ThreadGroup執行緒組

2021-09-13 10:12:45 字數 1987 閱讀 3510

package com.research;

/** * 執行緒組

* ①定義執行緒組

* threadgroup類中有 2個構造方法,它們用來定義執行緒組。這 2個構造方法的使用格 式如下:

* public threadgroup(string name);

* public threadgroup(threadgroup parent,string name);

* 比如,建立乙個名為fruit的執行緒組k,可用如下語句:

* threadgroup k=new threadgroup(「fruit」);

* 如果乙個執行緒組有父執行緒組,則可以在定義時,用第二個構造方法指出父執行緒組的名 字。比如:

* threadgroup k=new threadgroup(products,「fruit」);

* ②獲得執行緒組中的資訊

* threadgroup類中有幾個方法可用來獲得執行緒組中有關執行緒和子執行緒的資訊,這些信 息包括執行緒組名字、執行緒組中可執行執行緒的數目、執行緒組中線程的最大優先順序、執行緒組中各 執行緒的名字等。這些方法有:

* public int activecount(); // 獲得當前執行緒組中線程數目, 包括可執行和不可執行的

* public int activegroupcount(); //獲得當前執行緒組中活動的子執行緒組的數目

* public int enumerate(thread list); //列舉當前執行緒組中的執行緒

* public int enumerate(threadgroup list); //列舉當前執行緒組中的子執行緒組

* public final int getmaxpriority(); //獲得當前執行緒組中最大優先順序

* public final string getname(); //獲得當前執行緒組的名字

* public final threadgroup getparent(); //獲得當前執行緒組的父執行緒組

* public boolean parentof(threadgroup g); //判斷當前執行緒組是否為指定執行緒的父執行緒

* public boolean isdaemon(); //判斷當前執行緒組中是否有監護執行緒

* public void list(); //列出當前執行緒組中所有執行緒和子執行緒名

* ③對執行緒組操作

* threadgroup類中的方法都是以執行緒組為操作目標的。其中,包括設定執行緒組中線程 的最大優先順序方法、將執行緒組中所有執行緒掛起或恢復到可執行狀態的方法、終止執行緒組中所 有執行緒的方法等。

* 對執行緒組進行操作的方法如下所示:

* public final void resume(); //使被掛起的當前組內的執行緒恢復到可執行狀態

* public final void setdaemon (boolean daemon); //指定乙個執行緒為當前執行緒組的監護執行緒

* public final void setmaxpriority(int pri); //設定當前執行緒組允許的最大優先順序

* public final void stop();//終止當前執行緒組中所有執行緒

* public final void suspend(); //掛起當前執行緒組中所有執行緒

* public string tostrinng(); //將當前執行緒組轉換為string類的物件

*/public class threadgrouptest

}class grouptest implements runnable catch (exception e)

}}class grouptest2 implements runnable catch (exception e)

}}

執行緒學習3

有四個執行緒1 2 3 4。執行緒1的功能就是輸出1,執行緒2的功能就是輸出2,以此類推.現在有四個檔案abcd。初始都為空。現要讓四個檔案呈如下格式 a 1 2 3 4 1 2.b 2 3 4 1 2 3.c 3 4 1 2 3 4.d 4 1 2 3 4 1.請設計程式。include stda...

Swift學習3 執行緒

主佇列非同步 dispatchqueue.main.async dispatchqueue.global async 序列佇列同步 let serialqueue dispatchqueue label squeue serialqueue.sync 序列佇列非同步 serialqueue.asyn...

執行緒基礎學習3

執行緒的狀態 等待和喚醒的機制 在多個執行緒之間通過等待方法和喚醒方法進行通訊,沒有被喚醒的話就一直等待。package threadtest void wait 導致當前執行緒等待,直到另乙個執行緒呼叫該物件的 notify 方法或notifyall 方法。void wait long timeo...