![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ā)生...