第一題:執行緒的基本概念、執行緒的基本狀態及狀態之間的關係?
第二題:執行緒與程序的區別?
這個題目問到的概率相當大,計算機專業考研中也常常考到。要想全部答出比較難。
第三題:多執行緒有幾種實現方法,都是什麼?
第四題:多執行緒同步和互斥有幾種實現方法,都是什麼?
我在參加2023年迅雷校園招聘時的一面和二面都被問到這個題目,回答的好將會給面試成績加不少分。
第五題:多執行緒同步和互斥有何異同,在什麼情況下分別使用他們?舉例說明。
以下多執行緒對int型變數x的操作,哪幾個不需要進行同步:
a. x=y; b. x++; c. ++x; d. x=1;
第二題(阿里巴巴筆試題)
多執行緒中棧與堆是公有的還是私有的
a:棧公有, 堆私有
b:棧公有,堆公有
c:棧私有, 堆公有
d:棧私有,堆私有
第一題(台灣某防毒軟體公司面試題):
在windows程式設計中互斥量與臨界區比較類似,請分析一下二者的主要區別。
第二題:
乙個全域性變數tally,兩個執行緒併發執行(**段都是threadproc),問兩個執行緒都結束後,tally取值範圍。
inttally
= 0;
//glable
void
threadproc
()第三題(某培訓機構的練習題):
子執行緒迴圈10 次,接著主線程迴圈100 次,接著又回到子執行緒迴圈10 次,接著再回到主線程又迴圈100 次,如此迴圈50次,試寫出**。
第四題(迅雷筆試題):
編寫乙個程式,開啟3個執行緒,這3個執行緒的id分別為a、b、c,每個執行緒將自己的id在螢幕上列印10遍,要求輸出結果必須按abc的順序顯示;如:abcabc….依次遞推。
第五題(google面試題)
有四個執行緒1、2、3、4。執行緒1的功能就是輸出1,執行緒2的功能就是輸出2,以此類推.........現在有四個檔案abcd。初始都為空。現要讓四個檔案呈如下格式:
a:1 2 3 4 1 2....
b:2 3 4 1 2 3....
c:3 4 1 2 3 4....
d:4 1 2 3 4 1....
請設計程式。
下面的第六題與第七題也是在考研中或是程式設計師和軟體設計師認證考試中的熱門試題。
第六題生產者消費者問題
這是乙個非常經典的多執行緒題目,題目大意如下:有乙個生產者在生產產品,這些產品將提供給若干個消費者去消費,為了使生產者和消費者能併發執行,在兩者之間設定乙個有多個緩衝區的緩衝池,生產者將它生產的產品放入乙個緩衝區中,消費者可以從緩衝區中取走產品進行消費,所有生產者和消費者都是非同步方式執行的,但它們必須保持同步,即不允許消費者到乙個空的緩衝區中取產品,也不允許生產者向乙個已經裝滿產品且尚未被取走的緩衝區中投放產品。
第七題讀者寫者問題
這也是乙個非常經典的多執行緒題目,題目大意如下:有乙個寫者很多讀者,多個讀者可以同時讀檔案,但寫者在寫檔案時不允許有讀者在讀檔案,同樣有讀者讀時寫者也不能寫。
多執行緒相關題目就列舉到此,如果各位有多執行緒方面的筆試面試題,歡迎提供給我,我將及時補上。謝謝大家。
下面列出目錄,方便大家檢視。
1.《秒殺多執行緒第一篇 多執行緒筆試面試題彙總》
2.《秒殺多執行緒第二篇 多執行緒第一次親密接觸 createthread與_beginthreadex本質區別》
3.《秒殺多執行緒第三篇 原子操作 interlocked系列函式》
4.《秒殺多執行緒第四篇 乙個經典多執行緒同步問題》
5.《秒殺多執行緒第五篇 經典執行緒同步 關鍵段cs》
6.《秒殺多執行緒第六篇 經典執行緒同步 事件event
》7.《秒殺多執行緒第七篇 經典執行緒同步 互斥量
mutex
》8.《秒殺多執行緒第八篇 經典執行緒同步 訊號量semaphore
》9.《秒殺多執行緒第九篇 經典執行緒同步總結 關鍵段 事件 互斥量 訊號量
》10.《秒殺多執行緒第十篇 生產者消費者問題》
11.《秒殺多執行緒第十一篇 讀者寫者問題
》12.《秒殺多執行緒第十二篇 多執行緒同步內功心法——pv操作上
》13.《秒殺多執行緒第十三篇 多執行緒同步內功心法——pv操作下》即將發布
14.《秒殺多執行緒第十四篇 讀者寫者問題繼 讀寫鎖srwlock》
15.《秒殺多執行緒第十五篇 關鍵段,事件,互斥量,訊號量的「遺棄」問題》
16. 《秒殺多執行緒第十六篇 多執行緒十大經典案例之一 雙線程讀寫佇列資料
》再後面文章還在草稿中,就暫時不列出目錄了。
多執行緒常見面試題
兩種。繼承thread類 實現runnable介面 擴充套件一種 實現callable介面。這個得和執行緒池結合。兩種。同步 塊 同步方法 start run 封裝了被執行緒執行的 直接呼叫僅僅是普通方法的呼叫 start 啟動執行緒,並由jvm自動呼叫run 方法 sleep 必須指時間 不釋放鎖...
JAVA多執行緒常見面試題總結
1 多執行緒有幾種實現方案,分別是哪幾種?兩種。繼承thread類 實現runnable介面 擴充套件一種 實現callable介面。這個得和執行緒池結合。2 同步有幾種方式,分別是什麼?兩種。同步 塊 同步方法 3 啟動乙個執行緒是run 還是start 它們的區別?start run 封裝了被執...
常見面試題
1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...