2020 8 5多執行緒

2021-10-08 21:48:58 字數 1446 閱讀 7554

執行緒
1.繼承thread類建立執行緒

(1)定義mythread類繼承thread類

(2)重寫run()方法,編寫執行緒執行體

(3)建立執行緒物件,呼叫start()方法啟動執行緒

啟動執行緒是否可以直接呼叫run()方法?–不可以

(1)只有主線成乙個執行路徑

(2)依次呼叫了連詞run()方法

(3)run()方法被當做main()中的普通方法執行,失去了執行緒的意義

呼叫start(),是多條執行路徑,主線程和子執行緒並行交替執行

2。實現runnable介面建立執行緒

(1)定義myrunnable類實現runnable介面

(2)實現run方法,編寫執行緒執行體

(3)建立執行緒物件,呼叫start()方法啟動執行緒

thread(runnable target)

thread(runnable target,string name)

3.比較兩種建立執行緒的方式(推薦使用介面)

(1)繼承thread類

編寫簡單,可直接操作執行緒

適用於單繼承

(2)實現runnable介面

避免單繼承侷限性

便於共享資源

4.執行緒的狀態:

5.執行緒排程:按照特定機制為多個執行緒分配cpu的使用權

1.執行緒設定優先順序:

setpriority(thread.max.priority);

setpriority(thread.min.priority);

2.執行緒休眠:

tread.sleep(毫秒)

3.join()

4.yield()只提供禮讓的一種可能,但是不能保證一定會實現禮讓

暫停當前執行緒,允許其它具有相同優先順序的執行緒獲得執行機會,該執行緒處於就緒狀態,不轉為阻塞狀態

總結:■yield(

暫停當前正在執行的執行緒物件, 並執行其他執行緒,執行緒禮讓

◆只是提供一種可能,但是不能保證一定會實現禮讓

■請注意區分join()

yield():禮讓,放手。當前執行緒處於就緒狀態

◆join():阻塞當前執行緒,直到其他執行緒執行完畢,當前執行緒才進入就緒狀態

題目:6.執行緒同步:

同步方法:結果就是控制只能乙個程序進入方法

synchronized (this){}可控制**塊

■多個併發執行緒訪問同一 資源的同步**塊時:

1.同一時刻只能有乙個執行緒進入synchronized ( this )同步**塊,當乙個執行緒訪問乙個synchronized ( this )同步**塊時,其他synchronized ( this )同步**塊同樣被鎖定

2.當乙個執行緒訪問一-個synchronized ( this )同步**塊時,其他執行緒可以訪問該資源的非synchronized ( this )同步**

7.執行緒安全:

多執行緒 多執行緒原理

我們首先要知道什麼是多執行緒,說白了就是多個執行緒,執行緒是什麼呢,其實就是程序執行的途徑,那麼說道這裡我們又引入了乙個新的名字,就是程序,那麼我們來看看什麼是程序,其實我們自己也能看到,啟動電腦的任務管理器,我們就可以看到程序選項,裡面是我們電腦所有的程序,我們會發現有很多的程序.簡單地說就是程序...

多執行緒(一) tomcat 多執行緒

web server允許的最大執行緒連線數還受制於作業系統的核心引數設定,通常windows是2000個左右,linux是1000個左右。1.編輯tomcat安裝目錄下的conf目錄下的server.xml檔案 maxthreads 150 表示最多同時處理150個連線,tomcat使用執行緒來處理...

多執行緒 理解多執行緒(一)

程序 程序是cpu分配資源的基本單位 執行緒 執行緒是cpu排程的基本單位 資源分配給程序,所有執行緒共享該程序的資源 當執行緒數大於cpu的數量,會出現時間片的輪詢。cpu時間片是直接分配給執行緒的,執行緒拿到cpu時間片就能執行了 cpu時間片不是先分給程序然後再由程序分給程序下的執行緒的。所有...