日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java线程组 线程池_JAVA多线程(三)-----线程组、线程池和线程相关类

發布時間:2025/3/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java线程组 线程池_JAVA多线程(三)-----线程组、线程池和线程相关类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、線程組和未處理的異常

Thread類提供了如下幾個構造器來設置新創建的線程屬于哪個線程組:

Thread(ThreadGroup group,Runnable target):以target的run()方法作為線程執行體創建新線程,屬于group線程組

Thread(ThreadGroup group,Runnable target,String Name):以target的run()方法作為線程執行體創建新線程,屬于group線程組,線程名為name

Thread(ThreadGroup group,String Name):創建新線程,線程名為name,屬于group數組

中途不可改變線程所屬線程組

ThreadGroup類提供了如下兩個簡單的構造器來創建實例:

ThreadGroup(String name):以指定的線程組名字來創建新的線程組

ThreadGroup(ThreadGroup parent,String name):以指定的線程組名字,父線程組來創建新的線程組

public class MyThread extendsThread{//提供指定線程名的構造器

publicMyThread(String name) {super(name);

}//提供指定線程名、線程組的構造器

publicMyThread(ThreadGroup group, String name) {super(group,name);

}public voidrun() {for(int i = 0; i < 20; i++) {

System.out.println(getName()+ " 線程的i變量" +i);

}

}public static voidmain(String[] args) {//獲取主線程所在的線程組,這是所有線程默認的線程組

ThreadGroup mainGroup =Thread.currentThread().getThreadGroup();

System.out.println("主線程組的名字:" +mainGroup.getName());

System.out.println("主線程組是否是后臺線程組" +mainGroup.isDaemon());new MyThread("主線程的線程").start();

ThreadGroup tg= new ThreadGroup("新線程組");

tg.setDaemon(true);

System.out.println("tg線程組是否是后臺線程組" +tg.isDaemon());

MyThread tt= new MyThread(tg,"tg組的線程甲");

tt.start();new MyThread(tg,"tg組的線程乙").start();

}

}

ThreadGroup內還定義了一個很有用的方法,用于處理該線程組內的任意線程所拋出的未處理異常

void uncaughtException(Thread t,Throwable e)

如果線程執行過程中拋出了一個未處理異常,JVM在結束線程之前會自動查找是否有對應的Thread.UncaughtExceptionHandler對象,并調用該對象的uncaughtException(Thread t,Throwable e)方法來處理該異常

class MyExHandler implementsThread.UncaughtExceptionHandler{public voiduncaughtException(Thread t,Throwable e) {

System.out.println(t+ "線程出現了異?!?#xff1a;" +e);

}

}public classExHandler {public static voidmain(String[] args) {

Thread.currentThread().setUncaughtExceptionHandler(newMyExHandler());int a = 5/0;

System.out.println("程序正常結束!");

}

}

二、線程池

三、線程相關類

總結

以上是生活随笔為你收集整理的java线程组 线程池_JAVA多线程(三)-----线程组、线程池和线程相关类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。