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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java第七章多线程_第七章 多线程

發布時間:2025/3/19 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java第七章多线程_第七章 多线程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

7 多線程

7.1 進程和線程

1、進程進程是一個正在執行中的程序

每一個進程都有一個執行順序,該順序是一個執行路徑,或者叫做一個控制單元

2、線程線程就是進程中的一個獨立控制單元

線程在控制著進程的執行

一個進程中至少有一線程

7.2 創建線程的方式

第一種:繼承Thread類

步驟:

定義類繼承Thread

復寫Thread類中的run方法

調用線程的start方法,該方法的作用:啟動線程,并調用run方法。

class Demo extends Thread{

public void run(){

System.out.println("demo run");

}

}

class ThreadDemo{

public static void main(String[] args){

Demo d = new Demo();//創建線程

d.start();

}

}

多線程的特點:隨機性

多線程運行時,每一次運行的結果都不同。每個線程都在爭奪CPU的執行權,誰得到誰就運行。在某一時刻,只能有一個程序運行(多核除外)。CPU在做著快速的切換,以達到同時運行的效果。

run方法用于存儲線程要運行的代碼

static Thread currentThread():獲取當前線程對象

getName():獲取線程名稱

setName或者構造函數:設置線程名稱

第二種:實現Runnable接口

步驟:

定義類實現Runnable接口

覆蓋Runnable接口中的run方法

通過Thread類建立線程對象

將Runnable接口的子類對象作為實際參數傳遞給Thread類的構造函數

調用Thread類的start方法開啟線程,并調用Runnable接口子類額run方法

實現方式和繼承方式的區別繼承Thread:線程代碼存放在Thread子類run方法中

實現Runnable:線程代碼存放在接口的子類額run方法中

實現方法的好處:避免了單繼承額局限性,在定義線程時,建議使用實現方式

class PrimeRun implements Runnable{

public void run(){

System.out.println("demo run");

}

}

class ThreadDemo{

public static void main(String[] args){

PrimeRun p = new PrimeRun();//創建線程

new Thread(p).start();

}

}

7.3 同步

1、同步的前提必須要有兩個或者兩個以上的線程

必須是多個線程使用同一個鎖

必須保證同步中只有一個線程在運行

2、同步的好處和弊端

好處:解決了多線程額安全問題

弊端:多個線程都需要判斷鎖,比較消耗資源。

3、同步代碼塊

synchronized(對象){

需要被同步的代碼

}

對象如同鎖,持有鎖的線程可以在同步中執行。沒有持有鎖的線程即使獲取了CPU的執行權也進不去,因為沒有獲取鎖。

4、同步函數

將synchronized作為函數的修飾符

public synchronized void add(){}

同步函數用的鎖:

函數需要被對象調用,那么函數都有一個所屬對象引用,就是this,所以同步函數使用的鎖是this。

如果同步函數被靜態修飾后,使用的鎖是Class對象,類名.class。

死鎖:同步嵌套

5、新特性:

jdk1.5之后提供了多線程升級解決方案將Synchronized替換成實現Lock操作,加鎖:lock(),解鎖:unlock()

將Object中的wait、notify、notifyall替換成了Condition對象,該對象可通過Lock獲取。等待:await(0,喚醒:signal()。

7.4 停止線程

stop方法已經過時。

只有一種方法停止線程:run方法結束。一般都將代碼放在循環體中,所以只需要加個標記,控制循環,就可以讓run方法結束。

特殊情況:

當線程處于等待狀態,就讀取不到標記,那么就不會結束。這是就需要使用Interrupt()方法,讓等待狀態 線程回到活動狀態。

7.5 Join和yield

1、Join方法臨時加入線程

加入線程時,當前線程會進入等待狀態,直到加入的線程運行完畢,再回到活動狀態。

2、yield方法

暫停當前正在執行的線程,并執行其他線程。

7.6 優先級

優先級有1到10,所有線程默認都是5。通常只取1、5和10,為了便于閱讀將這三個設為了常量,分別對應MIN_PRIORITY、NORM_PRIORITY、MAX_PRIORITY

總結

以上是生活随笔為你收集整理的java第七章多线程_第七章 多线程的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 性欧美ⅴideo另类hd | 在线视频毛片 | 免费看成人片 | 欧美一区二区最爽乱淫视频免费看 | 99久久精品一区 | 岛国中文字幕 | 日本一区二区三区免费观看 | 天天干精品 | 欧美黑丝少妇 | 俺啪也 | 四虎久久久 | 亚洲精品成人在线 | 91禁国产网站 | 欧美电影一区 | 欧美大浪妇猛交饥渴大叫 | 老女人做爰全过程免费的视频 | 超碰97av | 国产精品久久久久久人 | 国产视频第三页 | 天天色综合天天 | 亚洲男女在线 | 免费观看理伦片在线播放视频软件 | 久久这里只有精品久久 | 国产又黄又爽 | 五月婷婷一区二区 | 国产一区二区三区视频在线播放 | 在线观看黄色片网站 | 日韩在线免费视频观看 | 青青操视频在线观看 | 超碰在线中文字幕 | 诱惑av | 麻豆www| 女教师痴汉调教hd中字 | 91麻豆一区二区 | 男女草逼视频 | 久色视频在线观看 | 国产午夜精品一区二区三区嫩草 | 91精品国产乱码久久久张津瑜 | 国产黄色片在线播放 | 国产成人午夜 | 黄金网站在线观看 | 4438x在线观看| 亚洲日本久久久 | 国色天香网站 | 婷婷国产在线 | 日韩在线观看第一页 | 精品777 | 国产一级色| 一本毛片 | 性活交片大全免费看 | 美女91网站 | 欧美天天视频 | 丁香久久久 | 日韩精品一 | 95视频在线 | 欧美被狂躁喷白浆精品 | 日韩影院一区 | 男人的天堂一级片 | 久久视频黄色 | 欧美日韩在线a | 免费一级特黄特色毛片久久看 | 久久综合久久鬼 | 在线播放毛片 | 欧美日韩国产免费观看 | 美女av一区二区 | v天堂在线 | 娇妻玩4p被三个男人伺候电影 | 40到50岁中老年妇女毛片 | 在线免费国产 | 91丨九色丨国产 | 欧美另类第一页 | 一级黄色大片视频 | 亚洲久草视频 | 狠狠干,狠狠操 | 伊人久久伊人 | 亚洲免费一区二区 | 超能一家人电影免费喜剧在线观看 | 欧美日韩另类在线 | 他趴在我两腿中间添得好爽在线看 | 亚洲欧美视频在线播放 | 美女脱裤子打屁股 | 中文字幕三级视频 | 日韩高清免费观看 | 欧美日韩在线不卡 | 久久噜噜噜 | 在线看片a| 我们的生活第五季在线观看免费 | 女裸全身无奶罩内裤内衣内裤 | 精品免费视频 | 亚洲视频999 | 91精品观看 | 五月天丁香激情 | 中文字幕第2页 | 久久久人体 | 日日狠狠久久 | 熟女肥臀白浆大屁股一区二区 | 国产原创视频在线 | 亚洲伦理影院 | 黄色一区二区三区 |