![240](https://cdn2.jianshu.io/assets/default_avatar/5-33d2da32c552b8be9a0548c7a4576607.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
在上一篇文章中就斤,主要講解了多線程相關(guān)的一些概念负甸,包括線程笛丙、多線程編程及優(yōu)缺點(diǎn)狼忱,現(xiàn)在我們就來(lái)深入探討一下安全隱患中的數(shù)據(jù)競(jìng)爭(zhēng)問(wèn)題扭仁。 數(shù)據(jù)競(jìng)爭(zhēng)是指不...
說(shuō)起多線程編程讼油,大家應(yīng)該都不陌生,從字面上理解惑朦,就是利用多線程技術(shù)編程兽泄。那么線程又是什么呢?今天我們就一起來(lái)探討一下漾月。 1.何為線程病梢? 從程序執(zhí)...
在開(kāi)發(fā)過(guò)程中,我們可能會(huì)遇到這樣的情況梁肿,任務(wù)1和任務(wù)2可以同時(shí)進(jìn)行蜓陌,但是任務(wù)3和任務(wù)4只有等任務(wù)1和任務(wù)2都完成以后,才可以執(zhí)行吩蔑。這時(shí)候如果我們...
在上一篇文章中钮热,我們主要分析了同步、異步烛芬,并發(fā)隊(duì)列和串行隊(duì)列隧期。相信看過(guò)的朋友應(yīng)該有初步的認(rèn)識(shí)痴奏,但是總覺(jué)得朦朦朧朧,今天我們通過(guò)幾個(gè)例子厌秒,來(lái)進(jìn)一步...
說(shuō)起多線程我們都不陌生鸵闪,在開(kāi)發(fā)過(guò)程中,我們經(jīng)常將一些耗時(shí)操作放在子線程中進(jìn)行暑诸,處理完成以后會(huì)將結(jié)果通知主線程蚌讼,繼續(xù)后面的操作。比如從網(wǎng)絡(luò)中下載一...
在開(kāi)發(fā)過(guò)程中个榕,經(jīng)常會(huì)使用KVO做一些業(yè)務(wù)監(jiān)聽(tīng)篡石,比如監(jiān)聽(tīng)列表的滑動(dòng)位置,獲取webView的加載進(jìn)度和網(wǎng)頁(yè)標(biāo)題等等西采。通常的使用情況是在需要使用的地...
上一篇文章中凰萨,我們了解到,在編譯階段械馆,每一個(gè)Category都是一個(gè)獨(dú)立的結(jié)構(gòu)體胖眷,其中包含實(shí)例方法、類方法霹崎、屬性和遵循的協(xié)議珊搀。具體內(nèi)容可參看Ca...
Category對(duì)我們并不陌生尾菇,相信大家在開(kāi)發(fā)過(guò)程中都有用過(guò)境析。使用較多的場(chǎng)景,我猜應(yīng)該有2個(gè): 在沒(méi)有拿到源碼的情況下派诬,對(duì)靜態(tài)庫(kù)或動(dòng)態(tài)庫(kù)添加方法...
通過(guò)前面幾篇文章劳淆,我們已經(jīng)了解了KVO與KVC的內(nèi)部實(shí)現(xiàn)邏輯:KVO通過(guò)運(yùn)行時(shí)實(shí)現(xiàn)中間類,當(dāng)被監(jiān)聽(tīng)的值發(fā)生改變時(shí)千埃,向觀察者發(fā)送通知憔儿,告訴值已發(fā)生...