Thread類的常用方法之設置線程名稱

2020-12-06 彼岸end

各位小夥伴們大家好,在之前的文章中,小編介紹了Java之Thread類的常用方法之獲取線程名稱,這次小編要介紹的是在Thread類的常用方法中,設置線程名稱。

如何設置線程名稱呢?有兩種方法。

使用Thread類中的方法setName(名字)。void setName(String name)改變線程名稱,使之與參數name相同。

2.創建一個帶參數的構造方法,參數傳遞線程的名稱。調用父類的帶參構造方法,把線程的名稱傳遞給父類,讓父類(Thread)給子線程起一個名字Thread(String name)分配新的Thread對象。

第一種方法,使用Thread類中的方法setName(名字)

public class MyThread extends Thread{

//重寫Thread中的run方法,設置線程任務

public void run() {

//鏈式編程

System.out.println(Thread.currentThread().getName());

}

}

main方法

public class Demo01SetThreadName {

public static void main(String args[]) {

MyThread mt=new MyThread();

mt.setName("Hello");

mt.start();

}

}

第二種方法創建一個帶參數的構造方法,參數傳遞線程的名稱。調用父類的帶參構造方法,把線程的名稱傳遞給父類,讓父類(Thread)給子線程起一個名字Thread(String name)分配新的Thread對象。

public class MyThread extends Thread{

//有參構造方法

public MyThread(String name) {

super(name);

}

//重寫Thread中的run方法,設置線程任務

public void run() {

//鏈式編程

System.out.println(Thread.currentThread().getName());

}

}

main方法

public class Demo01SetThreadName {

public static void main(String args[]) {

//開啟多線程

new MyThread("word").start();

}

}

Thread類的常用方法之設置線程名稱,小編就先說到這裡,大家做一個簡單的了解就可以,希望這篇文章可以幫到大家,也歡迎各位小夥伴補充和糾錯

相關焦點

  • Java之Thread類的常用方法之獲取線程名稱
    各位小夥伴們大家好,這次小編要講的是Thread類的一個常用方法,獲取線程名稱。在之前的文章中,小編介紹了獲取當前線程的名稱有兩種方法1.使用Thread類中的方法getName(),String getName()返回該線程的名稱。2.可以獲取當前正在執行的線程,使用線程中的方法getName()獲取線程的名稱。static Thread current Thread()返回對當前正在執行的線程對象的引用。
  • 全鏈路跟蹤之線程上下文Thread Local實戰(完整源碼)
    如上類圖可知Thread類中有一個threadLocals和inheritableThreadLocals都是ThreadLocalMap類型的變量,而ThreadLocalMap是一個定製化的Hashmap,默認每個線程中這兩個變量都為null,只有當前線程第一次調用了ThreadLocal的set或者get方法時候才會進行創建
  • Java - ThreadLocal類
    ThreadLocal的接口方法ThreadLocal類接口很簡單,只有4個常用方法:void set(T value)public void set(T value) { Thread這個方法是一個延遲調用方法,在線程第1次調用get()執行1次。ThreadLocal中的預設實現直接返回一個null。ThreadLocal的工作原理ThreadLocalMap是ThreadLocal的一個內部靜態類,通過這個類維護Thread類和TheadLocal類之間的關係。
  • Java之創建多線程的第一種方式,thread類
    在java.long包下,有這樣一個類java.long.Thread類代表線程,所有的線程對象必須是Thread類或其子類的實例。每一個線程的作用是完成一定的任務,就是執行一段程序流即一段順序執行的代碼。Java中使用線程執行體來代表這段程序流。
  • 圖文並茂|創建線程和線程的常用方法(一次性講清線程基礎知識)
    CPU在來回改變線程的執行機會稱之為線程上下文切換。run()寫到類中,實現Runnable接口是把run()方法寫到接口中然後再用Thread類來包裝, 兩種方式最終都是調用Thread類的start()方法來啟動線程的。
  • 10 張圖聊聊線程的生命周期和常用 APIs
    今天我們來說一下線程的生命周期和常用 APIs:我們需要非常清楚的知道線程的各種狀態,比如排查程序運行慢的原因時,就需要看下是不是哪裡被阻塞了;另外它也是面試時非常喜歡問的,如果基礎內容都答不好,恐怕直接就掛了。
  • Java之Thread類的常用方法sleep
    各位小夥伴們大家好,這次小編又來介紹Thread類的一個常用方法sleep,翻譯一下了就是睡覺的意思。具體是這樣的:public static void sleep(long millis)使用當前在執行的線程以指定的毫秒數暫停,也就是暫時停止執行。
  • 在父線程中ThreadLocal變量,怎樣在子線程中獲取?
    輸出結果如下:main:hello worldthread:null也就是說,同一個ThreadLocal變量在父線程中被設置後,在子線程中是獲取不到的;原因 因為在子線程thread裡面調用get方法時當前線程為
  • 【RT-Thread】線程的基本知識
    什麼是線程?人們在生活中處理複雜問題時,慣用的方法就是分而治之,即把一個大問題分解成多個相對簡單、比較容易解決的小問題,小問題逐個被解決了,大問題也就隨之解決了。同樣,在設計一個較為複雜的應用程式時,也通常把一個大型任務分解成多個小任務,然後通過運行這些小任務,最終達到完成大任務的目的。
  • JDK Thread 類
    ,某進程內的線程在其他進程不可見;調度和切換:線程上下文切換比進程上下文切換要快得多Java中的線程在Java中如果想單獨啟動一個線程可以通過兩種方式一種是通過聲明一個類繼承Thread並實現run方法new出對象後調用start方法就可以將線程交給jvm調度了
  • python核心編程之多線程教程-ThreadLocal
    ThreadLocal在多線程環境下,每個線程都有自己的數據。一個線程使用自己的局部變量比使用全局變量好,因為局部變量只有線程自己能看見,不會影響其他線程,而全局變量的修改必須加鎖。1.也不行,因為每個線程處理不同的Student對象,不能共享。2. 使用全局字典的方法如果用一個全局dict存放所有的Student對象,然後以thread自身作為key獲得線程對應的Student對象如何?
  • python線程之十:線程 threading 最終總結
    現在全面總結 threading 模塊1、threading模塊有自己的方法詳細點擊【】threading 模塊:較低級的模塊 _thread 基礎上進行的封裝。import threading as Tt1 = T.current_thread().name # 當前運行線程的名稱t2 = T.main_thread().name # 主線程的名稱t3 = T.enumerate() # 線程列表t4 = T.active_count() # 線程活動的數量# 以下兩個方法並不是設置一次,所有線程啟動都運行,所以沒什麼用
  • Thread類的常用API
    Thread是多線程編程的一個基礎線程類,其API非常重要,這裡做個匯總說明。Thread類的構造方法Thread()無參構造方法。Thread(Runnable target)任務對象做為參數。Thread(String name)線程名稱做為參數。
  • Python 並發編程(二):創建多線程的幾種方法
    用類創建多線程相比較函數而言,使用類創建線程,會比較麻煩一點。首先,我們要自定義一個類,對於這個類有兩點要求,必須繼承 threading.Thread 這個父類;必須複寫 run 方法。thread_01 = MyThread() # 創建線程02,指定參數 thread_02 = MyThread("MING") thread_01.start() thread_02.start()當然結果也是一樣的。
  • Thread、ThreadLocal源碼解析
    今天來看一下Thread和ThreadLocal類的源碼。>(2)常用構造最常用的構造方法是下面這個,其默認有一個生成線程名的函數。synchronized int nextThreadNum() { return threadInitNumber++;}(3)線程的初始化方法/** * @param g 線程組,每個線程都會屬於一個線程組 * @param target 線程會執行Runnable對象的run方法 * @param name 線程名 *
  • java必備技能之多線程與線程池
    場景描述以前多線程也常用,這次因需再頁面上用到多線程,如下圖,總結下,有需要的朋友可以參考下。臨時線程有一個超時機制,超過了設置的空閒時間沒有事兒幹,就會被銷毀。(3)keepAliveTime這個就是上面兩個參數裡所提到的超時時間,也就是線程的最大空閒時間,默認用於非核心線程,通過 allowCoreThreadTimeOut(boolean value) 方法設置後,也會用於核心線程。
  • Qt線程之moveToThread
    上一篇我們通過子類化QThread的方式實現了多線程。這一次將使用另一種方式實現多線程,那就是通過moveToThread將對象移動到子線程(不知道這樣表達是否準確,反正意思差不多)。moveToThread是QObject的成員函數,那麼QObject又是誰?.....連大名鼎鼎的QObject都不知道,面壁一下先。
  • JUC之ThreadPoolExecutor
    unit 線程空閒多長時間會被回收workQueue 阻塞隊列,接受到的任務會儲存在這裡面,為了避免 oom ,一定要設置隊列的大小threadFactory 創建線程的工廠// 我們可以在線程工廠中定義線程名稱的前綴
  • JNI-Thread中start方法調用與run方法回調分析
    前言在java編程中,線程Thread是我們經常使用的類。那麼創建一個Thread的本質究竟是什麼,本文就此問題作一個探索。所以start方法是我們關注的目標查看Thread類的start方法public synchronized void start() { if (threadStatus !
  • Java之匿名內部類方式實現多線程的創建
    格式:new 父類/接口(){重複父類/接口中的方法};關於匿名內部類小編之前有過介紹,大家可以看這篇文章進行了解Java之匿名內部類的簡單介紹和注意事項。用匿名內部類實現多線程的代碼,如下:public class Demo01InnerClassThread {public static void main(String[] args) {new Thread(){//創建一個匿名內部類//重寫run方法,設置線程任務public void run(){