国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JavaSE_day43(多線程單線程區(qū)別,圖解main方法若是單多線程該如何執(zhí)行,如何使用多線程2種方式)

這篇具有很好參考價值的文章主要介紹了JavaSE_day43(多線程單線程區(qū)別,圖解main方法若是單多線程該如何執(zhí)行,如何使用多線程2種方式)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1 A.java

?* 學習多線程之前,我們先要了解幾個關(guān)于多線程有關(guān)的概念。
?? ?
?? ?A:進程:進程指正在運行的程序。確切的來說,當一個程序進入內(nèi)存運行,即變成一個進程,進程是處于運行過程中的程序,并且具有一定獨立功能。
?? ?
?? ?B:線程:線程是進程中的一個執(zhí)行單元,負責當前進程中程序的執(zhí)行,一個進程中至少有一個線程。一個進程中是可以有多個線程的,這個應(yīng)用程序也可以稱之為多線程程序。
?? ?
?? ?C:簡而言之:一個程序運行后至少有一個進程,一個進程中可以包含多個線程
?? ?
?? ?什么是多線程呢?即就是一個程序中有多個線程在同時執(zhí)行。(同一時間做多件事情,安全性低,效率高)

* 多線程的實現(xiàn)方式:
?* ?? ??? ?方式1:

?* ?? ??? ??? ?一種方法是將類聲明為 Thread 的子類。
?* ?? ??? ??? ?該子類應(yīng)重寫 Thread 類的 run 方法。
?* ?? ??? ??? ?接下來可以分配/創(chuàng)建并啟動該子類的實例
?*?
?* Thread
?* ?? ??? ?String getName() ? ? ?返回該線程的名稱。?
?*?
?* ?? ??? ?void ? setName(String name) 改變線程名稱,使之與參數(shù) name 相同。
?*?
?* 現(xiàn)在使用了多線程,所以輸出是切換性的,不會按順序執(zhí)行,先是張三執(zhí)行完,再次依次往后執(zhí)行...
?*?
?* CPU執(zhí)行程序的隨機性,多個程序進行高速切換,所以并不不會感覺有卡頓現(xiàn)象!
?? ?
?? ?
?? ?右鍵選擇,Source,選擇Override選擇需要重寫的方法

定義多線程類:

public class A_MyThread extends Thread {

	@Override
	public void run() {
		for (int i = 0; i < 100; i++) {
			System.out.println(getName() + ":" + i);
		}
	}
}

定義主類:

public class A_ThreadMain {
	public static void main(String[] args) {
		
		//創(chuàng)建線程實例
		A_MyThread mt = new A_MyThread();
		//修改線程名字
		mt.setName("張三");  //不改名字就是默認是從Thread-0,Thread-1...開始
		
		//啟動線程
		mt.start();
		
		//創(chuàng)建線程實例
		A_MyThread mt2 = new A_MyThread();
		mt2.setName("老王");
		
		//啟動線程
		mt2.start();
	}
}

2 B.java

?* 主方法中的代碼(方法)執(zhí)行是多線程嗎?
?* ?? ??? ?圖解:

JavaSE_day43(多線程單線程區(qū)別,圖解main方法若是單多線程該如何執(zhí)行,如何使用多線程2種方式)

JavaSE_day43(多線程單線程區(qū)別,圖解main方法若是單多線程該如何執(zhí)行,如何使用多線程2種方式)

?

?


?* ?? ??? ?主方法的(方法)執(zhí)行是單線程!

3 C.java

?* 多線程的實現(xiàn)方式:
?* ?? ??? ?方式2:

?* ?? ?創(chuàng)建線程的另一種方法是聲明實現(xiàn) Runnable 接口的類。該類然后實現(xiàn) run 方法。然后創(chuàng)建Runnable的子類對象,傳入到某個線程的構(gòu)造方法中,開啟線程。
?? ?
?? ?為何要實現(xiàn)Runnable接口,Runable是啥玩意呢?繼續(xù)API搜索。
?? ?
?? ?查看Runnable接口說明文檔:Runnable接口用來指定每個線程要執(zhí)行的任務(wù)。包含了一個 run 的無參數(shù)抽象方法,需要由接口實現(xiàn)類重寫該方法。

?* ?? ?1、定義類實現(xiàn)Runnable接口。
?? ?2、覆蓋接口中的run方法。。
?? ?3、創(chuàng)建Thread類的對象
?? ?4、將Runnable接口的子類對象作為參數(shù)傳遞給Thread類的構(gòu)造函數(shù)。
?? ?5、調(diào)用Thread類的start方法開啟線程。

?? ?由于java是單繼承,所以再搞一個接口出來實現(xiàn)多線程是非常有意義的!

定義多線程類

public class B_MyThread implements Runnable {
	int num;
	
	public B_MyThread() {
	}
	
	@Override
	public void run() {
		for (int i = 0; i < 100; i++) {
			Thread t = Thread.currentThread();//currentThread()   返回對當前正在執(zhí)行的線程對象的引用。
			System.out.println(t.getName() + ":" + i);
			
		/*	//鏈式編程
			System.out.println(Thread.currentThread().getName() + ":" + i + num);*/
		}
	}

}

主類:文章來源地址http://www.zghlxwxcb.cn/news/detail-475009.html

public class B_ThreadMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		//創(chuàng)建線程實例
		B_MyThread mt = new B_MyThread();
		Thread t = new Thread(mt);
		
		t.setName("xu");
		t.start();
		
		//創(chuàng)建線程實例
		B_MyThread mt2 = new B_MyThread();
		Thread t2 = new Thread(mt2);
		
		t2.setName("ui");
		t2.start();
		
		
	}

}

到了這里,關(guān)于JavaSE_day43(多線程單線程區(qū)別,圖解main方法若是單多線程該如何執(zhí)行,如何使用多線程2種方式)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 每天一點Python——day43

    每天一點Python——day43

    ? ?

    2024年02月11日
    瀏覽(21)
  • 【DAY43-1】vue知識整理

    Vue 是一個流行的JavaScript框架,它具有簡單易學、靈活高效的特點,在前端開發(fā)中受到廣泛歡迎。Vue生態(tài)包括了眾多的插件和工具,以下是幾個常見的Vue生態(tài): Vuex :Vuex是為Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式。它可以幫助你管理應(yīng)用程序的所有組件的狀態(tài),并使用一些規(guī)則來

    2023年04月22日
    瀏覽(18)
  • 線程方法接收參數(shù)示例,Java的兩種線程實現(xiàn)方式區(qū)別

    總所周知,Java實現(xiàn)多線程有兩種方式,分別是繼承Thread類和實現(xiàn)Runable接口,那么它們的區(qū)別是什么? 繼承 Thread 類: 通過繼承 Thread 類,你可以創(chuàng)建一個直接表示線程的類。你可以覆蓋 Thread 類中的 run 方法來定義線程的邏輯。當調(diào)用 start 方法啟動線程時,會執(zhí)行該類中的

    2024年02月11日
    瀏覽(53)
  • LeetCode 每日一題 Day 37-43

    LeetCode 每日一題 Day 37-43

    終于考完試了,寒假期間將會每天持續(xù)更新! 給定平面上 n 對 互不相同 的點 points ,其中 points[i] = [xi, yi] ?;匦S 是由點 (i, j, k) 表示的元組 ,其中 i 和 j 之間的歐式距離和 i 和 k 之間的歐式距離相等(需要考慮元組的順序)。 返回平面上所有回旋鏢的數(shù)量。 示例 1: 輸

    2024年01月17日
    瀏覽(22)
  • day43-Spring_IOC

    day43-Spring_IOC

    1.2.3 1. Spring_IOC 1.1? 定義:輕量級框架,java EE的春天,主流框架 1.2? Spring 特性:IOC控制反轉(zhuǎn);AOP面相切面 1.3? 組成部分:Spring在SSM中所起到的作用(SpringMVC和Mybatis框架的黏合劑) 1.4? Spring 理念:核心思想是面向Bean(萬物皆Bean組件) 1.5? Spring 優(yōu)勢:IOC 控制反轉(zhuǎn)(降低了

    2024年02月15日
    瀏覽(18)
  • 【代碼隨想錄】刷題筆記Day43

    【代碼隨想錄】刷題筆記Day43

    剛過完非常愉快的元旦假期,唔想反工啊啊啊,先刷刷題找回學習的狀態(tài)吧 dp[target] == target為目標,weight和value相同的01背包問題,用一維遍歷 dp[j]為容量為j的背包所能裝的最大價值 dp[j] = max(dp[j], dp[j - num[i]] + nums[i]) 關(guān)鍵在于把兩兩相減問題轉(zhuǎn)化為兩堆近似相減,和上一題就

    2024年02月03日
    瀏覽(31)
  • 啟動線程方法 start ()和 run ()有什么區(qū)別

    在Java中,線程可以通過調(diào)用 start() 方法或者直接調(diào)用 run() 方法來執(zhí)行。這兩種方式有著重要的區(qū)別: start() 方法: 當你調(diào)用線程的 start() 方法時,它會使線程進入就緒狀態(tài),等待系統(tǒng)調(diào)度。系統(tǒng)會為該線程分配資源,并在合適的時機執(zhí)行線程的 run() 方法。 實際上, start(

    2024年02月11日
    瀏覽(19)
  • day43-Feedback Ui Design(反饋ui設(shè)計)

    day43-Feedback Ui Design(反饋ui設(shè)計)

    效果 index.html style.css script.js

    2024年02月15日
    瀏覽(22)
  • 【JavaSE專欄84】線程讓步,一種線程調(diào)度的機制

    【JavaSE專欄84】線程讓步,一種線程調(diào)度的機制

    作者主頁 :Designer 小鄭 作者簡介 :3年JAVA全棧開發(fā)經(jīng)驗,專注JAVA技術(shù)、系統(tǒng)定制、遠程指導,致力于企業(yè)數(shù)字化轉(zhuǎn)型,CSDN學院、藍橋云課認證講師。 主打方向 :Vue、SpringBoot、微信小程序 本文講解了 Java 中線程讓步的語法和應(yīng)用場景,并給出了樣例代碼。線程讓步是一種

    2024年02月11日
    瀏覽(21)
  • 學習JavaSE基礎(chǔ)-day1

    學習JavaSE基礎(chǔ)-day1

    JRE 和 JDK JRE:Java運行環(huán)境,如果想要運行Java程序至少要安裝JRE JDK:Java開發(fā)環(huán)境(開發(fā)工具包),如果要開發(fā)Java程序,必須安裝JDK JRE = JVM + 核心類庫 JDK = JRE + 開發(fā)工具包 JDK JRE JVM 關(guān)系如圖所示: ? ? JDK下載地址:www.oracle.com 配置Path環(huán)境變量:希望可以在命令窗口的任意的

    2024年02月07日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包