學習記錄分享(多執行緒)

2021-10-03 18:55:28 字數 2001 閱讀 5374

1.乙個單cpu的機器,如何同時執行多個執行緒?請簡述其原理

單cpu在任何時間點上,只能執行乙個執行緒,實現同時執行多個執行緒是通過序列,在不同的執行緒之間通過cpu時間片控制切換執行不同的執行緒。

2.(執行緒的建立)有以下**

}c ,只有主方法乙個執行緒,沒有建立新的執行緒類

3.(執行緒的建立)有以下**

}}c 沒有正確覆蓋run方法,所以相當於沒有覆蓋,沒有實現runnable介面

4.(sleep方法)有如下**

5.(執行緒的建立)建立兩個執行緒,要求如下:

ⅰ.乙個執行緒輸出100個1~26,另乙個執行緒輸出100個a ~z

ⅱ.乙個執行緒使用繼承thread類的寫法,另乙個執行緒使用實現runnable介面的寫法。

public

class

test05

}class

thread1

extends

thread}}

class

runnable1

implements

runnable

}}

部分執行結果:

6.(執行緒的同步)有如下**

public

class

testmythread

}class

mythread1

extends

thread

public

void

run(

)catch

(exception e)

system.out.

println

("$$$");

}}}}

class

mythread2

extends

thread

public

void

run(

)catch

(exception e)

system.out.

println

("###");

}}}}

在//1和//2處加上的synchronized的作用是對臨界資源物件加鎖,保證原子操作只能由首先拿到鎖的的執行緒進行操作。

如果不加,原子操作會在兩個執行緒之間交替執行

多執行緒 基礎多執行緒學習分享

程序 程式是靜止,其真正執行時的程式才稱之為程序 執行緒 輕量級程序 light weight process 程序與執行緒區別 執行緒的組成 建立執行緒 主要的兩種方式 a 繼承thread類方法 步驟 1.編寫類 繼承thread 2.重寫run方法 3.建立執行緒物件 4.呼叫start方法啟...

java 多執行緒學習記錄

執行緒棧模型與執行緒變數 要理解執行緒排程的原理,以及執行緒執行過程,必須理解執行緒棧模型。執行緒棧是指某時刻時記憶體中線程排程的棧資訊,當前呼叫的方法總是位於棧頂。執行緒棧的內容是隨著程式的執行動態變化的,因此研究執行緒棧必須選擇乙個執行的時刻 實際上指 執行到什麼地方 下面通過乙個示例性的 說明...

C 學習記錄 多執行緒相關

之前學過一點c語言多執行緒方面的內容 pthread.h 但是僅僅是會用,對多執行緒的實現原理什麼的基本上算是不了解。接下來,我的網路程式設計學習要進一步對 進行優化,其中肯定少不了對多執行緒的運用,所以在進行下一步之前,先系統的學習一下多執行緒。本篇學習記錄使用的語言為c 呼叫的執行緒庫為c 11...