2018-02-01

代碼塊和并發(fā)性

標簽: OC學習


1.代碼塊

傳統(tǒng)的函數(shù)指針:void (*my_func)(void);
代碼塊的定義:將*換成^

1.1 舉例:

int (^square_block)(int number) = 
    ^(int num){return num*num;};

int result = square_block(6);
printf("Result = %d\n", result);

<font color='green'>實現(xiàn)方式:</font>

<returntype> (^blockname)(list of arguments) = ^(arguments){ body; };

返回類型,參數(shù)表都是可以省略的部分,如下例一個極簡代碼塊:

void (^theBlock)() = ^{ printf("Hello World\n"); };

1.2 代碼塊的使用

  • 同一般函數(shù)直接通過函數(shù)名調(diào)用;
  • 直接將代碼塊當做參數(shù);

2.并發(fā)性

核心方法:GCD

2.1 NSObject提供的方法

performSelectorInBackground:withObject:能夠創(chuàng)建一個線程在后臺運行方法;
限制:

  • 必須創(chuàng)建自動釋放池
  • 方法不能有返回值,至多有一個參數(shù)

示例:

//方法函數(shù)定義
-(void) myBackgroundMethod:(id)myObject
{
    @autoreleasepool
    {   
        NSLog(@"My background method %@",myObject);
    }
}

//方法調(diào)用
[self performSelectorInBackground:@selector(myBackgroundMethod) withObject:argumentObject];

2.2 調(diào)度隊列

使用方法: 實現(xiàn)方法代碼,然后為其指派一個隊列

  • 連續(xù)隊列
  • 并發(fā)隊列
  • 主隊列

1)連續(xù)隊列:一連串任務按照一定順序執(zhí)行,先入先出;

//第一個參數(shù)為隊列名稱,第二個參數(shù)為隊列特性
dispatch_queue-t myQueue;
myQueue = dispatch_queue_create("queueName",NULL);

2)并發(fā)隊列:系統(tǒng)提供3種:高優(yōu)先級默認優(yōu)先級,低優(yōu)先級,

dispatch_queue-t myQueue;
myQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0);

3)主隊列:使用dispatch_get_main_queue可以訪問與應用程序主線程有關的連續(xù)隊列;

dispatch_queue-t myQueue;
myQueue = dispatch_get_current_queue(void);
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評論 19 139
  • 原來 我也可以像雪花一樣 靜靜地 靜靜地等待血液里的熱情 從跳動的指尖一點一點地流出來 直到囂張的世界燒為灰燼 摸...
    梅芳的行影記閱讀 301評論 0 1
  • 今天早晨起來后發(fā)現(xiàn)下雪,打電話物流車不走,沒去進貨,也沒去店里,就留在家里了一天。 自從開了店以來,在家閑著的日子...
    朵嘉濃靜靜閱讀 1,007評論 0 0
  • 作者:李磊 看見各位文筆佳,字體妙;也不禁來湊個熱鬧~ 記得那是2011農(nóng)歷年末的一個陰晴未定的早晨,踏上了去往西...
    暉說閱讀 226評論 0 0
  • 時光飛逝,感覺一月份到現(xiàn)在還沒過多久,又一次到了羊城。與冬季陰雨綿綿夾雜著涼意相比,一下飛機感覺還是很暖和的。急匆...
    mr_alec閱讀 278評論 0 0

友情鏈接更多精彩內(nèi)容