摘要:多次啟動(dòng)一個(gè)線程是非法的。程序?qū)儆趽屨际秸{(diào)度那個(gè)線程的優(yōu)先級(jí)高那個(gè)線程優(yōu)先執(zhí)行同一個(gè)優(yōu)先級(jí)隨機(jī)選擇一個(gè)執(zhí)行創(chuàng)建類的子類對(duì)象調(diào)用類中的方法方法開啟新的線程執(zhí)行方法創(chuàng)建一個(gè)類的子類在類的子類中重寫類中的方法設(shè)置線程任務(wù)開啟線程要做什么
package com.itheima.demo06.Thread;
/*
創(chuàng)建多線程程序的第一種方式:創(chuàng)建Thread類的子類 java.lang.Thread類:是描述線程的類,我們想要實(shí)現(xiàn)多線程程序,就必須繼承Thread類 實(shí)現(xiàn)步驟: 1.創(chuàng)建一個(gè)Thread類的子類 2.在Thread類的子類中重寫Thread類中的run方法,設(shè)置線程任務(wù)(開啟線程要做什么?) 3.創(chuàng)建Thread類的子類對(duì)象 4.調(diào)用Thread類中的方法start方法,開啟新的線程,執(zhí)行run方法 void start() 使該線程開始執(zhí)行;Java 虛擬機(jī)調(diào)用該線程的 run 方法。 結(jié)果是兩個(gè)線程并發(fā)地運(yùn)行;當(dāng)前線程(main線程)和另一個(gè)線程(創(chuàng)建的新線程,執(zhí)行其 run 方法)。 多次啟動(dòng)一個(gè)線程是非法的。特別是當(dāng)線程已經(jīng)結(jié)束執(zhí)行后,不能再重新啟動(dòng)。 java程序?qū)儆趽屨际秸{(diào)度,那個(gè)線程的優(yōu)先級(jí)高,那個(gè)線程優(yōu)先執(zhí)行;同一個(gè)優(yōu)先級(jí),隨機(jī)選擇一個(gè)執(zhí)行
*/
public class Demo01Thread {
public static void main(String[] args) { //3.創(chuàng)建Thread類的子類對(duì)象 MyThread mt = new MyThread(); //4.調(diào)用Thread類中的方法start方法,開啟新的線程,執(zhí)行run方法 mt.start(); for (int i = 0; i <20 ; i++) { System.out.println("main:"+i); } }
}
package com.itheima.demo06.Thread;
//1.創(chuàng)建一個(gè)Thread類的子類
public class MyThread extends Thread{
//2.在Thread類的子類中重寫Thread類中的run方法,設(shè)置線程任務(wù)(開啟線程要做什么?) @Override public void run() { for (int i = 0; i <20 ; i++) { System.out.println("run:"+i); } }
}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/75430.html
摘要:多線程進(jìn)程正在進(jìn)行中的程序。所以容易出現(xiàn)線程安全問題。等待喚醒機(jī)制涉及的方法將同步中的線程處于凍結(jié)狀態(tài)。返回該線程的字符串表示形式,包括線程名稱優(yōu)先級(jí)和線程組。暫停當(dāng)前正在執(zhí)行的線程對(duì)象,并執(zhí)行其他線程。 多線程:進(jìn)程:正在進(jìn)行中的程序。其實(shí)進(jìn)程就是一個(gè)應(yīng)用程序運(yùn)行時(shí)的內(nèi)存分配空間。線程:其實(shí)就是進(jìn)程中一個(gè)程序執(zhí)行控制單元,一條執(zhí)行路徑。進(jìn)程負(fù)責(zé)的是應(yīng)用程序的空間的標(biāo)示。線程負(fù)責(zé)的是應(yīng)...
摘要:如果是后者,則在執(zhí)行完畢未執(zhí)行之前,被線程二搶占了,這時(shí)已經(jīng)是非了但卻沒有初始化,所以線程二會(huì)直接返回在之后雙重檢查鎖定才能夠正常達(dá)到單例效果,之前有個(gè)坑。所以,在版本前,雙重檢查鎖形式的單例模式是無法保證線程安全的。 第一種(懶漢, 線程不安全): public class Singleton { private static Singleton instance; ...
摘要:所以,在版本前,雙重檢查鎖形式的單例模式是無法保證線程安全的。 單例模式可能是代碼最少的模式了,但是少不一定意味著簡(jiǎn)單,想要用好、用對(duì)單例模式,還真得費(fèi)一番腦筋。本文對(duì)Java中常見的單例模式寫法做了一個(gè)總結(jié),如有錯(cuò)漏之處,懇請(qǐng)讀者指正。 餓漢法 顧名思義,餓漢法就是在第一次引用該類的時(shí)候就創(chuàng)建對(duì)象實(shí)例,而不管實(shí)際是否需要?jiǎng)?chuàng)建。代碼如下: public class Singleton...
摘要:引擎可以是一個(gè)標(biāo)準(zhǔn)的解釋器,也可以是一個(gè)將編譯成某種形式的字節(jié)碼的即時(shí)編譯器。和其他引擎最主要的差別在于,不會(huì)生成任何字節(jié)碼或是中間代碼。不使用中間字節(jié)碼的表示方式,就沒有必要用解釋器了。 原文地址:https://blog.sessionstack.com... showImg(https://segmentfault.com/img/bVVwZ8?w=395&h=395); 數(shù)周之...
摘要:生產(chǎn)者消費(fèi)者問題是一個(gè)典型的多進(jìn)程同步問題。生產(chǎn)者線程開始產(chǎn)生新的元素并將它們存儲(chǔ)在緩沖區(qū)。否則,生產(chǎn)者線程將會(huì)在緩沖區(qū)創(chuàng)建一個(gè)新元素然后通知消費(fèi)者。我們建立一個(gè)線程池,它將收到兩個(gè)任務(wù),生產(chǎn)者和消費(fèi)者的任務(wù)。 原文鏈接:https://dzone.com/articles/th... 作者:Ioan Tinca 譯者:liumapp 想要了解更多關(guān)于Java生產(chǎn)者消費(fèi)者問題的演變嗎?...
閱讀 3462·2023-04-26 02:31
閱讀 3626·2021-11-23 09:51
閱讀 1290·2021-11-17 09:33
閱讀 2443·2021-11-16 11:45
閱讀 2573·2021-10-11 11:12
閱讀 2415·2021-09-22 15:22
閱讀 2717·2021-09-04 16:40
閱讀 2578·2021-07-30 15:30