日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶(hù)?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機(jī)編程>

iOS開(kāi)發(fā)多線(xiàn)程說(shuō)明

大小:0.2 MB 人氣: 2017-09-25 需要積分:2

GCD中有2個(gè)核心概念

(1)任務(wù):執(zhí)行什么操作

(2)隊(duì)列:用來(lái)存放任務(wù)

GCD的使用就2個(gè)步驟

(1)定制任務(wù)

(2)確定想做的事情

將任務(wù)添加到隊(duì)列中,GCD會(huì)自動(dòng)將隊(duì)列中的任務(wù)取出,放到對(duì)應(yīng)的線(xiàn)程中執(zhí)行

提示:任務(wù)的取出遵循隊(duì)列的FIFO原則:先進(jìn)先出,后進(jìn)后出

二。 執(zhí)行任務(wù)

1. GCD中有2個(gè)用來(lái)執(zhí)行任務(wù)的函數(shù)

說(shuō)明:把右邊的參數(shù)(任務(wù))提交給左邊的參數(shù)(隊(duì)列)進(jìn)行執(zhí)行。

(1)用同步的方式執(zhí)行任務(wù) dispatch_sync(dispatch_queue_t queue, dispatch_block_t block);

參數(shù)說(shuō)明:

queue:隊(duì)列

block:任務(wù)

(2)用異步的方式執(zhí)行任務(wù) dispatch_async(dispatch_queue_t queue, dispatch_block_t block);

2. 同步和異步的區(qū)別

同步:在當(dāng)前線(xiàn)程中執(zhí)行

異步:在另一條線(xiàn)程中執(zhí)行

三。 隊(duì)列

1. 隊(duì)列的類(lèi)型

GCD的隊(duì)列可以分為2大類(lèi)型

(1)并發(fā)隊(duì)列(Concurrent Dispatch Queue)

可以讓多個(gè)任務(wù)并發(fā)(同時(shí))執(zhí)行(自動(dòng)開(kāi)啟多個(gè)線(xiàn)程同時(shí)執(zhí)行任務(wù))并發(fā)功能只有在異步(dispatch_async)函數(shù)下才有效

(2)串行隊(duì)列(Serial Dispatch Queue)

讓任務(wù)一個(gè)接著一個(gè)地執(zhí)行(一個(gè)任務(wù)執(zhí)行完畢后,再執(zhí)行下一個(gè)任務(wù))

2. 補(bǔ)充說(shuō)明

有4個(gè)術(shù)語(yǔ)比較容易混淆:同步、異步、并發(fā)、串行

同步和異步?jīng)Q定了要不要開(kāi)啟新的線(xiàn)程

同步:在當(dāng)前線(xiàn)程中執(zhí)行任務(wù),不具備開(kāi)啟新線(xiàn)程的能力

異步:在新的線(xiàn)程中執(zhí)行任務(wù),具備開(kāi)啟新線(xiàn)程的能力

并發(fā)和串行決定了任務(wù)的執(zhí)行方式

并發(fā):多個(gè)任務(wù)并發(fā)(同時(shí))執(zhí)行

串行:一個(gè)任務(wù)執(zhí)行完畢后,再執(zhí)行下一個(gè)任務(wù)

3. 串行隊(duì)列

GCD中獲得串行有2種途徑

(1)使用dispatch_queue_create函數(shù)創(chuàng)建串行隊(duì)列

dispatch_queue_t dispatch_queue_create(const char *label, dispatch_queue_attr_t attr); // 隊(duì)列名稱(chēng), 隊(duì)列屬性,一般用NULL即可

示例:

dispatch_queue_t queue = dispatch_queue_create(“wendingding”, NULL); // 創(chuàng)建

dispatch_release(queue); // 非ARC需要釋放手動(dòng)創(chuàng)建的隊(duì)列

(2)使用主隊(duì)列(跟主線(xiàn)程相關(guān)聯(lián)的隊(duì)列)

主隊(duì)列是GCD自帶的一種特殊的串行隊(duì)列,放在主隊(duì)列中的任務(wù),都會(huì)放到主線(xiàn)程中執(zhí)行

使用dispatch_get_main_queue()獲得主隊(duì)列

示例:

dispatch_queue_t queue = dispatch_get_main_queue();

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶(hù)評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?
      江阴市| 迭部县| 盘山县| 和平区| 鄄城县| 建阳市| 陇西县| 赫章县| 铁岭县| 泌阳县| 渭源县| 四川省| 黔西县| 云龙县| 靖西县| 宜川县| 绥棱县| 达州市| 荆州市| 阿鲁科尔沁旗| 山阴县| 攀枝花市| 成都市| 大埔区| 平遥县| 台州市| 鸡东县| 安阳县| 江川县| 镇雄县| 通山县| 温州市| 报价| 仁怀市| 土默特右旗| 曲沃县| 牙克石市| 惠东县| 中山市| 镇原县| 巧家县|