dispatch_queue_t q = dispatch_get_main_queue(); nslog(@"1111"); dispatch_async(q, ^{ nslog(@"主队列异步任务 %@", [nsthread currentthread]); }); nslog(@"2222"); // 下面会造成线程死锁 // dispatch_sync(q, ^{ // nslog(@"主队列同步 %@", [nsthread currentthread]); // }); ...
输出结果如下: 2018-12-1111:09:10.428216+0800TestGCD[2040:59724] 0currentThread == <NSThread:0x604000260500>{number =1, name =main}2018-12-1111:09:10.428898+0800TestGCD[2040:59724] 0currentThread == <NSThread:0x604000260500>{number =1, name =main}2018-12-1111:09:10.429803+0800TestGCD[204...
// dispatch_sync(mainQueue, ^{ // NSLog(@"1111"); // }); // viewDidLoad 在主线程中,执行到sync 时向 dispatch_get_main_queue()插入 同步 操作 // sync 会等到 后面block 执行完成才返回, sync 又再 dispatch_get_main_queue() 队列中, // 它是串行队列,sync 是后加入的,前一个是主线程,...
dispatch_queue_t q = dispatch_get_main_queue(); nslog(@"1111"); dispatch_async(q, ^{ nslog(@"主队列异步任务 %@", [nsthread currentthread]); }); nslog(@"2222"); // 下面会造成线程死锁 // dispatch_sync(q, ^{ // nslog(@"主队列同步 // }); } /** * 2.并行队列里开启同步任...
代码语言:javascript 代码运行次数:0 复制Cloud Studio 代码运行 - (void)demo{ // 创建一个并发队列 dispatch_queue_t concurrentQueue = dispatch_queue_create("Henry", DISPATCH_QUEUE_CONCURRENT); dispatch_async(concurrentQueue, ^{ sleep(1); NSLog(@"1111---%@",[NSThread currentThread]); }); /*...
任务只能一个接一个执行letsemaphore=DispatchSemaphore.init(value:1)//此时信号量为1,无需等待,向下执行 信号量 1->0semaphore.wait()queue.asyncAfter(deadline:.now()+4){print("1111")//延迟4秒后输出1111,释放信号量,信号量 从0->1semaphore.signal()}//延迟4秒输出1111后,此时信号量为1,继续向下...
1111.png 很多人说信号量为0的时候阻塞线程,返回null,可是为什么这里还会打印111?而当dispatch_semaphore_wait时,这里的信号量-1,变成了-1,所以没有走222打印。所以,结果很明了了吧。 另外常用的组合:例如以下情况,分别执行两个异步的AFN网络请求,第二个网络请求需要等待第一个网络请求响应后再执行,使用信号量的...
// NSLog(@"1111%@", [NSThread currentThread]); // }); // // dispatch_sync(queueSerial, ^{ // [NSThread sleepForTimeInterval:2]; // // NSLog(@"2222%@", [NSThread currentThread]); // }); 1. 2. 3. 4. 5. 6. 7.
【EZ新品情报】GCD凯迪拉克凯雷德模具曝光 GCD凯雷德长轴版、标准轴距版同时开模,还有挂兜拖车选配,还原美式暴力肌肉范,喜欢大型、全尺寸SUV的朋友可以关注一下。
0 1255 算法-求二进制数中1的个数 2010-06-21 15:00 −问题描述 任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4 这也是一道比较经典的题目了,相信不少人面试的时候可能遇到过这道题吧,下面介绍了几种方法来实现这道题,相信很多人可能见过...