一.概念性問(wèn)答題第一題:線程的基本概念、線程的基本狀態(tài)及狀態(tài)之間的關(guān)系?
第二題:線程與進(jìn)程的區(qū)別? 這個(gè)題目問(wèn)到的概率相當(dāng)大,計(jì)算機(jī)專業(yè)考研中也常??嫉?。要想全部答出比較難。
第三題:多線程有幾種實(shí)現(xiàn)方法,都是什么?
第四題:多線程同步和互斥有幾種實(shí)現(xiàn)方法,都是什么? 我在參加2011年迅雷校園招聘時(shí)的一面和二面都被問(wèn)到這個(gè)題目,回答的好將會(huì)給面試成績(jī)加不少分。
第五題:多線程同步和互斥有何異同,在什么情況下分別使用他們?舉例說(shuō)明。
二.選擇題第一題(百度筆試題): 以下多線程對(duì)int型變量x的操作,哪幾個(gè)不需要進(jìn)行同步:
第二題(阿里巴巴筆試題) 多線程中棧與堆是公有的還是私有的 A:棧公有, 堆私有 B:棧公有,堆公有 C:棧私有, 堆公有 D:棧私有,堆私有
三.綜合題第一題(臺(tái)灣某殺毒軟件公司面試題): 在Windows編程中互斥量與臨界區(qū)比較類似,請(qǐng)分析一下二者的主要區(qū)別。
第二題: 一個(gè)全局變量tally,兩個(gè)線程并發(fā)執(zhí)行(代碼段都是ThreadProc),問(wèn)兩個(gè)線程都結(jié)束后,tally取值范圍。 inttally = 0;//glable voidThreadProc() { for(inti = 1; i <= 50; i++) tally += 1; }
第三題(某培訓(xùn)機(jī)構(gòu)的練習(xí)題): 子線程循環(huán) 10 次,接著主線程循環(huán) 100 次,接著又回到子線程循環(huán) 10 次,接著再回到主線程又循環(huán) 100 次,如此循環(huán)50次,試寫出代碼。
第四題(迅雷筆試題): 編寫一個(gè)程序,開啟3個(gè)線程,這3個(gè)線程的ID分別為A、B、C,每個(gè)線程將自己的ID在屏幕上打印10遍,要求輸出結(jié)果必須按ABC的順序顯示;如:ABCABC….依次遞推。
第五題(Google面試題) 有四個(gè)線程1、2、3、4。線程1的功能就是輸出1,線程2的功能就是輸出2,以此類推.........現(xiàn)在有四個(gè)文件ABCD。初始都為空?,F(xiàn)要讓四個(gè)文件呈如下格式: 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.... 請(qǐng)?jiān)O(shè)計(jì)程序。
下面的第六題與第七題也是在考研中或是程序員和軟件設(shè)計(jì)師認(rèn)證考試中的熱門試題。 第六題 生產(chǎn)者消費(fèi)者問(wèn)題 這是一個(gè)非常經(jīng)典的多線程題目,題目大意如下:有一個(gè)生產(chǎn)者在生產(chǎn)產(chǎn)品,這些產(chǎn)品將提供給若干個(gè)消費(fèi)者去消費(fèi),為了使生產(chǎn)者和消費(fèi)者能并發(fā)執(zhí)行,在兩者之間設(shè)置一個(gè)有多個(gè)緩沖區(qū)的緩沖池,生產(chǎn)者將它生產(chǎn)的產(chǎn)品放入一個(gè)緩沖區(qū)中,消費(fèi)者可以從緩沖區(qū)中取走產(chǎn)品進(jìn)行消費(fèi),所有生產(chǎn)者和消費(fèi)者都是異步方式運(yùn)行的,但它們必須保持同步,即不允許消費(fèi)者到一個(gè)空的緩沖區(qū)中取產(chǎn)品,也不允許生產(chǎn)者向一個(gè)已經(jīng)裝滿產(chǎn)品且尚未被取走的緩沖區(qū)中投放產(chǎn)品。
第七題 讀者寫者問(wèn)題 這也是一個(gè)非常經(jīng)典的多線程題目,題目大意如下:有一個(gè)寫者很多讀者,多個(gè)讀者可以同時(shí)讀文件,但寫者在寫文件時(shí)不允許有讀者在讀文件,同樣有讀者讀時(shí)寫者也不能寫。
多線程相關(guān)題目就列舉到此,如果各位有多線程方面的筆試面試題,歡迎提供給我,我將及時(shí)補(bǔ)上。謝謝大家。
下一篇《多線程第一次親密接觸 CreateThread與_beginthreadex本質(zhì)區(qū)別》將從源代碼的層次上講解創(chuàng)建多線程的二個(gè)函數(shù)CreateThread與_beginthreadex到底有什么區(qū)別,讓你明明白白的完成與多線程第一次親密接觸。
轉(zhuǎn)載請(qǐng)標(biāo)明出處,原文地址:http://blog.csdn.net/morewindows/article/details/7392749 |
|