真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

iOS多線程總結(jié)之GCD的使用詳解-創(chuàng)新互聯(lián)

進(jìn)程與線程

創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、惠農(nóng)網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為惠農(nóng)等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

進(jìn)程就是一個(gè)應(yīng)用程序在處理機(jī)上的一次執(zhí)行過程,它是一個(gè)動(dòng)態(tài)的概念,而線程是進(jìn)程中的一部分,進(jìn)程包含多個(gè)線程在運(yùn)行。

線程是指進(jìn)程內(nèi)的一個(gè)執(zhí)行單元,也是進(jìn)程內(nèi)的可調(diào)度實(shí)體.

與進(jìn)程的區(qū)別:

(1)地址空間:線程是進(jìn)程內(nèi)的一個(gè)執(zhí)行單元;進(jìn)程至少有一個(gè)線程;它們共享進(jìn)程的地址空間;而進(jìn)程有自己獨(dú)立的地址空間;
(2)資源擁有:進(jìn)程是資源分配和擁有的單位,同一個(gè)進(jìn)程內(nèi)的線程共享進(jìn)程的資源
(3)線程是處理器調(diào)度的基本單位,但進(jìn)程不是.
(4)二者均可并發(fā)執(zhí)行.

GCD

1.什么是GCD?

全稱是Grand Central Dispatch,可譯為“偉大的中樞調(diào)度器”

純C語言,提供了非常多強(qiáng)大的函數(shù)

2.GCD的優(yōu)勢

GCD是蘋果公司為多核的并行運(yùn)算提出的解決方案

GCD會(huì)自動(dòng)利用更多的CPU內(nèi)核(比如雙核、四核)

GCD會(huì)自動(dòng)管理線程的生命周期(創(chuàng)建線程、調(diào)度任務(wù)、銷毀線程)

程序員只需要告訴GCD想要執(zhí)行什么任務(wù),不需要編寫任何線程管理代碼

隊(duì)列與任務(wù)

1.隊(duì)列主要包含三種:主線程隊(duì)列、并行隊(duì)列、串行隊(duì)列

2.任務(wù)主要包含兩種:異步任務(wù)和同步任務(wù)

多線程執(zhí)行過程就是把任務(wù)放在隊(duì)列中去執(zhí)行的過程

(在計(jì)算機(jī)操作系統(tǒng)中對異步和同步有很深入的概念和定義,并影響到計(jì)算機(jī)系統(tǒng)有單線程到多線程的過渡發(fā)展,其中牽涉到線程切換、時(shí)間片等概念。但在GCD這里我們只做大致使用區(qū)別)

隊(duì)列:

  1. 并行隊(duì)列 :在隊(duì)列中的多個(gè)任務(wù)(線程) 同時(shí)執(zhí)行 (不按順序執(zhí)行)
  2. 串行隊(duì)列: 在隊(duì)列中的多個(gè)任務(wù)(線程)排隊(duì) 依次執(zhí)行(按順序執(zhí)行)

任務(wù):

同步(sync) 和 異步(async) 的主要區(qū)別在于會(huì)不會(huì)阻塞當(dāng)前線程,直到 Block 中的任務(wù)執(zhí)行完畢!

如果是 同步(sync) 操作,它會(huì)阻塞當(dāng)前線程并等待 Block 中的任務(wù)執(zhí)行完畢,然后當(dāng)前線程才會(huì)繼續(xù)往下運(yùn)行。

如果是 異步(async)操作,當(dāng)前線程會(huì)直接往下執(zhí)行,它不會(huì)阻塞當(dāng)前線程。

3.隊(duì)列的創(chuàng)建方法

可以使用dispatch_queue_create來創(chuàng)建對象,需要傳入兩個(gè)參數(shù),第一個(gè)參數(shù)表示隊(duì)列的唯一標(biāo)識符,用于DEBUG,可為空;第二個(gè)參數(shù)用來識別是串行隊(duì)列還是并行隊(duì)列。DISPATCH_QUEUE_SERIAL表示串行隊(duì)列,DISPATCH_QUEUE_CONCURRENT表示并行隊(duì)列。

// 串行隊(duì)列的創(chuàng)建方法
dispatch_queue_t queue= dispatch_queue_create("test.queue", DISPATCH_QUEUE_SERIAL);
// 并行隊(duì)列的創(chuàng)建方法
dispatch_queue_t queue= dispatch_queue_create("test.queue", DISPATCH_QUEUE_CONCURRENT);

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


本文標(biāo)題:iOS多線程總結(jié)之GCD的使用詳解-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://weahome.cn/article/dodchg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部