淺析Java中線(xiàn)程的創(chuàng)建和啟動(dòng)
前言
線(xiàn)程是一個(gè)程序內(nèi)部的順序控制流。cpu實(shí)際上在一個(gè)時(shí)間點(diǎn)上,只執(zhí)行一個(gè)。只不過(guò)我們把cup分成了多個(gè)時(shí)間片,由于速度很快,我們看起來(lái)像是多個(gè)線(xiàn)程。就像你的時(shí)間分成幾片,這樣整體看來(lái)做事情有規(guī)律,效率就會(huì)高,何況是cup呢。
線(xiàn)程的創(chuàng)建和啟動(dòng):
(1)定義Thread
類(lèi)的子類(lèi),并重寫(xiě)了該類(lèi)的run()
方法,該run()
方法的方法就代表了線(xiàn)程需要完成的任務(wù)。因此把run()
方法稱(chēng)為線(xiàn)程執(zhí)行體
(2)創(chuàng)建Thread
子類(lèi)的實(shí)例,即創(chuàng)建了線(xiàn)程對(duì)象
(3)調(diào)用線(xiàn)程對(duì)象的start()
方法來(lái)啟動(dòng)該線(xiàn)程
源代碼:
// 通過(guò)繼承Thread類(lèi)來(lái)創(chuàng)建線(xiàn)程類(lèi) public class FirstThread extends Thread { private int i; //重寫(xiě)run()方法,run()方法的方法體是線(xiàn)程執(zhí)行體 public void run() { for(;i<100;i++) {//當(dāng)線(xiàn)程類(lèi)繼承Thread類(lèi)時(shí),直接使用this即可獲取當(dāng)前數(shù)據(jù) //Thread對(duì)象的getName()返回當(dāng)前線(xiàn)程的名字 //因此可以直接調(diào)用getName()方法返回當(dāng)前線(xiàn)程的名字 System.out.println(getName()+””+i); } } public static void main(String[] args) { for(int i=0;i<100;i++) { //調(diào)用Thread的currentThread()方法獲取當(dāng)前線(xiàn)程 System.out.println(Thread.currentThread().getName() +””+i); if(i==20) { //創(chuàng)建并啟動(dòng)第一個(gè)線(xiàn)程 new FirstThread().start(); //創(chuàng)建并啟動(dòng)第二個(gè)線(xiàn)程 new FirstThread().start(); } } } }
運(yùn)行界面:
總結(jié)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)和工作有所幫助。如果有疑問(wèn)可以留言討論。
相關(guān)文章
Java C++實(shí)現(xiàn)相同MD5加密算法的方式
這篇文章主要介紹了Java與C++實(shí)現(xiàn)相同MD5加密算法的方法,需要的朋友可以參考下面文章內(nèi)容2021-09-09JAVA中Collections工具類(lèi)sort()排序方法
這篇文章主要介紹了JAVA中Collections工具類(lèi)sort()排序方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2016-11-11用Java代碼實(shí)現(xiàn)棧數(shù)據(jù)結(jié)構(gòu)的基本方法歸納
這篇文章主要介紹了用Java代碼實(shí)現(xiàn)棧數(shù)據(jù)結(jié)構(gòu)的基本方法歸納,各種算法的實(shí)現(xiàn)也是ACM上經(jīng)常出現(xiàn)的題目,是計(jì)算機(jī)學(xué)習(xí)的基本功,需要的朋友可以參考下2015-08-08Spring boot實(shí)現(xiàn)文件上傳實(shí)例(多文件上傳)
本篇文章主要介紹了Spring boot實(shí)現(xiàn)文件上傳實(shí)例(多文件上傳),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05Java實(shí)現(xiàn)stream的三個(gè)常用方式(toMap,groupingBy,findFirst)
本文主要介紹了Java實(shí)現(xiàn)stream的三個(gè)常用方式,主要包括toMap,groupingBy,findFirst,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10SpringBoot集成SSM、Dubbo、Redis、JSP的案例小結(jié)及思路講解
這個(gè)案例其實(shí)就是SpringBoot集成SSM、Dubbo、Redis、JSP,看起來(lái)感覺(jué)很繁瑣,其實(shí)就是很簡(jiǎn)單,下面通過(guò)案例分析給大家講解,感興趣的朋友跟隨小編一起看看吧2021-05-05springboot自動(dòng)裝配TypeNotPresentExceptionProxy異常排查解決
這篇文章主要為大家介紹了springboot自動(dòng)裝配TypeNotPresentExceptionProxy異常排查解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Spring注解中@Configuration和@Component到底有啥區(qū)別
之前一直搞不清@Component和@Configuration這兩個(gè)注解到底有啥區(qū)別,一直認(rèn)為被這兩修飾的類(lèi)可以被Spring實(shí)例化嘛,最近終于弄明白了,這篇文章主要給大家介紹了關(guān)于Spring注解中@Configuration和@Component到底有啥區(qū)別的相關(guān)資料,需要的朋友可以參考下2023-04-04jackson 實(shí)現(xiàn)null轉(zhuǎn)0 以及0轉(zhuǎn)null的示例代碼
這篇文章主要介紹了jackson 實(shí)現(xiàn)null轉(zhuǎn)0 以及0轉(zhuǎn)null的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09