前言

最近特別忙,博客就此荒蕪,博主秉著哪里不熟悉就開始學(xué)習(xí)哪里的精神一直在分享著,有著扎實的基礎(chǔ)才能寫出健壯的代碼,有可能實現(xiàn)的邏輯有多種,但是心中必須有要有底哪個更適合,用著更好,否則則說明我們對這方面還比較薄弱,這個時候就得好好補(bǔ)補(bǔ)了,這樣才能加快提升自身能力的步伐,接下來的時間會著重講解線程方面的知識。強(qiáng)勢分割線。

 


 

話題亂入,一到跳槽季節(jié)想必我們很多人就開始刷面試題,這種情況下大部分都能解決問題,但是這樣的結(jié)果則是導(dǎo)致有可能企業(yè)招到并非合適的人,當(dāng)然作為面試官的那些人們也懶得再去自己出一份面試題,問來問去就那些技術(shù)【排除有些裝逼的面試官】,如果我作為面試官我會在網(wǎng)上挑出50%的面試題,其他面試則是現(xiàn)場問答,看看面試者的實際能力和平時的積累是怎樣的。好了,現(xiàn)在隨便出三道面試題,作為面試者的你,看你如何作答:

(1)利用Thread類創(chuàng)建線程有幾種方式。

(2)如果你已工作3年,我要問你創(chuàng)建線程的至少3種方式,如果你已工作6年,我會問你創(chuàng)建線程的7種方式。

(3)線程的發(fā)展歷程是怎樣的,每一個歷程分別是為了解決什么問題。

如果你需要沉思一會或者回答不出來,那你就有必要好好補(bǔ)補(bǔ)線程這方面的知識了!如果答案已有請對照文章最底部參考答案是否大概一致。

線程

線程確實很強(qiáng)大,強(qiáng)大到對于我而言只知道這個概念,由于自身的能力無法從底層去追究,只能通過網(wǎng)上資料或書籍來強(qiáng)勢入腦,但是利用線程不當(dāng)則導(dǎo)致各種各樣問題的出現(xiàn),若不作為開發(fā)者我們只能重啟電腦或者打開任務(wù)管理器去直接關(guān)閉該死的那所屬的進(jìn)程,作為開發(fā)者的我們知道線程有著內(nèi)存占用和運行時的性能開銷即創(chuàng)建和銷毀都是需要開銷。每個線程都有以下因素

(1)線程內(nèi)核對象。

(2)線程環(huán)境塊。

(3)用戶模式棧。

(4)內(nèi)核模式棧。

(5)DLL線程連接和線程分離通知。

上述摘抄來自CLR Via  C#,請原諒我懶得去看這段文字也不想看,沒多大意思【因為我不懂】,比較底層的東西我就不去過多探討了。好了,開始進(jìn)入我們最原始的線程創(chuàng)建講解。

網(wǎng)友評論