iOS面試題:多線程的應(yīng)用

一、共享資源

共享資源 : 就是內(nèi)存中的一塊資源同時被多個線程所訪問,而每個線程可能會對該資源的數(shù)據(jù)進(jìn)行修改

問題 : 如果 線程A 訪問了某塊資源 C,并且修改了其中的數(shù)據(jù),此時 線程B 也訪問了 資源C,并且也對 C 中的數(shù)據(jù)進(jìn)行了修改;那么等到 線程A 和 線程B 執(zhí)行結(jié)束后,此時,資源C 中的數(shù)據(jù)就并不是最初的設(shè)置了

二、線程通信
通常, 一個線程不應(yīng)該單獨(dú)存在,應(yīng)該和其他線程之間有關(guān)系

例如 : 一個線程完成了自己的任務(wù)后需要切換到另一個線程完成某個任務(wù);或者 一個線程將數(shù)據(jù)傳遞給另一個線程

三、線程的狀態(tài)

  • 當(dāng)一個線程對象創(chuàng)建并開啟后,它就會被放到線程調(diào)度池中,等待系統(tǒng)調(diào)度;如圖


  • 當(dāng)正在運(yùn)行的線程被阻塞時,就會被移出 可調(diào)度線程池,此時不可再調(diào)度它


  • 當(dāng)線程正常結(jié)束,異常退出,強(qiáng)制退出時都會導(dǎo)致該線程死亡,死亡的線程會從內(nèi)存中移除,無法調(diào)度



更多:iOS面試題合集

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容