前言

當(dāng)線程池的線程阻塞時(shí),線程池會(huì)創(chuàng)建額外的線程,而創(chuàng)建、銷毀和調(diào)度線程所需要相當(dāng)昂貴的內(nèi)存資源,另外,很多的開發(fā)人員看見自己程序的線程沒有做任何有用的事情時(shí)習(xí)慣創(chuàng)建更多的線程,為了構(gòu)建可伸縮、響應(yīng)靈敏的程序,我們在前面介紹了線程也瘋狂-----異步編程。

但是異步編程同樣也存在著很嚴(yán)重的問題,如果兩個(gè)不同的線程訪問相同的變量和數(shù)據(jù),按照我們異步函數(shù)的實(shí)現(xiàn)方式,不可能存在兩個(gè)線程同時(shí)訪問相同的數(shù)據(jù),這個(gè)時(shí)候我們就需要線程同步。多個(gè)線程同時(shí)訪問共享數(shù)據(jù)的時(shí),線程同步能防止數(shù)據(jù)損壞,之所以強(qiáng)調(diào)同時(shí)這個(gè)概念,因?yàn)榫€程同步本質(zhì)就是計(jì)時(shí)問題。

異步和同步是相對的,同步就是順序執(zhí)行,執(zhí)行完一個(gè)再執(zhí)行下一個(gè),需要等待、協(xié)調(diào)運(yùn)行。異步就是彼此獨(dú)立,在等待某事件的過程中繼續(xù)做自己的事,不需要等待這一事件完成后再工作。線程就是實(shí)現(xiàn)異步的一個(gè)方式。異步是讓調(diào)用方法的主線程不需要同步等待另一線程的完成,從而可以讓主線程干其它的事情。

 

基元用戶模式和內(nèi)核模式構(gòu)造

基礎(chǔ)概念

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式