Block的分類 Block有三種類型:全局Block,堆區(qū)Block条霜,棧區(qū)Block 全局Block 當(dāng)Block沒有引用到局部變量時(shí)或者Bl...
上篇文章介紹synchronized鎖群嗤,今天介紹的是其他常用鎖:NSLock,NSRecursiveLock 辈毯,NSCondition,NSCo...
iOS中有哪些鎖呢? OSSpinLock站玄,dispatch_semaphore_t,os_unfair_lock拦英,pthread_mutex_...
線程和進(jìn)程的區(qū)別 進(jìn)程:每個(gè)進(jìn)程都有獨(dú)立的代碼和數(shù)據(jù)空間(進(jìn)程上下文)蜒什,進(jìn)程間的切換會(huì)有較大的開銷,一個(gè)進(jìn)程包含1--n個(gè)線程疤估。(進(jìn)程是資源分配...
load和initialize方法的調(diào)用原則和調(diào)用順序灾常? load方法的調(diào)用時(shí)在dyld加載程序的時(shí)候調(diào)用霎冯,在main函數(shù)之前,調(diào)用順序:父類钞瀑,...
上篇文章講了類是如何加載的沈撞,但是我們只看到了類里面的方法,屬性和協(xié)議的加載雕什,并沒有看到分類加載缠俺,這篇文章介紹分類的加載。 分類加載 1. 分類的...
上篇文章我們已經(jīng)了解到objc_init調(diào)用_dyld_objc_notify_register注冊(cè)了load_image,load_image...
本篇文章主要是探索程序啟動(dòng)流程贷岸。 load方法斷點(diǎn) 首先我們來個(gè)簡(jiǎn)單程序 通過打印我們知道+load > c++構(gòu)造函數(shù) > main接下來我們...
cache的獲取 通過名字我們猜測(cè)cache應(yīng)該是緩存壹士,但是到底是緩存了什么呢?這個(gè)就需要探索了首先獲取cache偿警,通過之前的篇章我們知道躏救,要獲...