/** 发送手机验证码 */ -(void)startSenderYzmMessage{ __block int timeout = 60; //倒计时时间 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIOR... ...
分类:
移动开发 时间:
2018-06-20 21:15:56
阅读次数:
171
用法, 创建信号量实际就是创建的对象设置最大并发数.不得小于0, 小于0导致崩溃, , 减少一个信号量, 比如创建的对象信号量是5, wait一次就减少一个信号量,信号量变为4, 当信号量为0的时候当前线程就会等待,直到信号量 0的时候才会往下进行. 增加一个信号量,减少与增加信号量是成对出现的. ...
分类:
移动开发 时间:
2018-05-23 20:45:46
阅读次数:
231
在cocoachina上看到一篇文章,今天学下。 一、任务 任务:线程中那个执行的代码段。 执行任务分为两种: 1.sync(同步):等待队列的任务执行结束 dispatch_sync(dispatch_queue_t,^{ //执行代码 }); NSLog(@"hello,sync"); 直白说就 ...
分类:
其他好文 时间:
2018-03-17 17:58:12
阅读次数:
244
为了能够判断当前queue是否是之前创建的queue, 我们可以利用dispatch_queue_set_specific和dispatch_get_specific给queue关联一个context data, 后面再利用这个标识获取到context data。 如果可以获取到说明当前上下文是在自 ...
分类:
其他好文 时间:
2018-02-13 17:57:06
阅读次数:
273
如果想在dispatch_queue中所有的任务执行完成后在做某种操作,在串行队列中,可以把该操作放到最后一个任务执行完成后继续,但是在并行队列中怎么做呢。这就有dispatch_group 成组操作。 有一个需求是,是想发出三个网络请求,当三个请求全部执行返回结果的时候再做一些操作,不论返回的是失 ...
分类:
其他好文 时间:
2018-01-28 02:15:24
阅读次数:
274
Dispatch Queues Dispatch queues are a C-based mechanism for executing custom tasks. A dispatch queue executes tasks either serially or concurrently bu ...
分类:
编程语言 时间:
2017-12-11 20:08:53
阅读次数:
155
首先要知道线程和进程的区别。一个系统上运行的每一个应用程序都是一个线程。而进程中要执行的任务都是在线程上来实现的,所以说线程是进程的最小执行单元。 进程最少要有一个线程。多线程,顾名思义就是多条线程。 那么在ios开发中运用到的多线程都有哪些呢,都有什么区别的,下面我们就来详细的吐槽一波。 说到多线 ...
分类:
移动开发 时间:
2017-11-14 19:45:50
阅读次数:
229
dispatch_apply的用法 并行模拟for循环,将指定的代码循环10次,一般会把这些代码附加到一个queue上,然后在 dispatch_apply里并行 dispatch_queue_t queue = dispatch_get_globel_queue(DISPATCH_QUEUE_PR ...
分类:
移动开发 时间:
2017-11-07 16:28:01
阅读次数:
211
Grand Central Dispatch,简称GCD,在异步执行任务的技术之一。 一般将应用程序中记述的线程管理用的代码在系统级中实现,开发者只需要定义想执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并计划执行任务。这句话用代码表示如下: dispatch_as ...
分类:
移动开发 时间:
2017-10-16 19:44:56
阅读次数:
225
? 如果不指定,每一个模块,都会生成自己的一个串行队列。可以通过强行声明一个队列来指定所有方法都在这个队列执行- (dispatch_queue_t)methodQueue{ return dispatch_get_main_queue();}methodQueue方法会在模块被初始化的时候被执行一... ...
分类:
其他好文 时间:
2017-08-20 15:48:57
阅读次数:
236