
iOS-多线程
文章平均质量分 68
zhuge1127
这个作者很懒,什么都没留下…
展开
-
通知与线程
注册通知线程 发送通知线程 处理通知线程原创 2016-11-06 16:57:23 · 258 阅读 · 0 评论 -
GCD全解-07-dispatch_semaphore-信号量/数据同步
主要API列表 dispatch_semaphore_create 创建一个semaphore dispatch_semaphore_signal 发送一个信号 dispatch_semaphore_wait 等待信号如何在GCD中快速的控制并发呢? 信号量是一个整形值并且具有一个初始计数值,并且支持两个操作:信号通知和等待。 当一个信号量被信号通知,其计数会被增加。...原创 2018-09-06 17:24:12 · 609 阅读 · 0 评论 -
GCD全解-06-dispatch_once-单次执行
单次执行一个任务,此方法中的任务只会执行一次,重复调用也没办法重复执行(单例模式中常用此方法)static AutoPayManager *manager;@implementation AutoPayManager+ (instancetype)defaultPayManager { static dispatch_once_t onceToken; dispatch_o...原创 2018-09-06 17:22:00 · 333 阅读 · 0 评论 -
GCD全解-05-dispatch_apply-重复提交操作
重复执行某个任务,但是注意这个方法没有办法异步执行 (为了不阻塞线程可以使用dispatch_async()包装一下再执行* @abstract * Submits a block to a dispatch queue for parallel invocation. # 提交一个Block到队列并发调用 * @discussion * Submits a block to...原创 2018-09-06 17:20:38 · 711 阅读 · 0 评论 -
GCD全解-04-dispatch_barrier_sync/async-线程阻塞
dispatch_barrier_syncdispatch_barrier_asyncdemo小结dispatch_barrier_sync# Submits a barrier block for synchronous execution on a dispatch queue.# relevant only on DISPATCH_QUEUE_CONCUR...原创 2018-09-06 17:18:31 · 1589 阅读 · 0 评论 -
GCD全解-03-dispatch_after/dispatch_time-延迟调度和操作
dispatch_after延时操作的API,通常Queue会在主线程,但是也可以自定义线程* @functoin Schedule a block for execution on a given queue at a specified time. * @param when * A temporal milestone returned by dispatch_time() or...原创 2018-09-06 17:13:22 · 2416 阅读 · 0 评论 -
GCD全解-11-GCD死锁
dispatch_sync将block转换后检查队列宽度为1,调用dispatch_barrier_sync_fvoid dispatch_sync(dispatch_queue_t dq, void (^work)(void)){ struct Block_basic *bb = (void *)work; dispatch_sync_f(dq, work, (dispatc...原创 2018-09-08 08:56:24 · 875 阅读 · 0 评论 -
GCD全解-10-dispatch_source-调度资源
现代系统通常提供异步接口,允许应用向系统提交请求,然后在系统处理请求时应用可以继续处理自己的事情。Grand Central Dispatch正是基于这个基本行为而设计,允许你提交请求,并通过block和dispatch queue报告结果。dispatch source是基础数据类型,协调特定底层系统事件的处理 Dispatch source替代了异步回调函数,来处理系统相关的事件。...原创 2018-09-08 08:55:28 · 2156 阅读 · 0 评论 -
GCD全解-09-dispatch_block-GCD取消操作
为什么要学dispatch_block?dispatch_block_create创建demo监听 block 执行结束dispatch_block_notifyGCD的取消:dispatch_block_cancel为什么要学dispatch_block?在向队列中添加任务时,可以直接在对应的函数中添加 block。但是如果想对任务进行操作,比如监听任务、取消任务,就...原创 2018-09-08 08:51:48 · 2492 阅读 · 0 评论 -
GCD全解-02-dispatch_queue-调度队列
队列分类串行队列 :DISPATCH_QUEUE_SERIAL@discussion A dispatch queue that invokes blocks serially in FIFO order.#define DISPATCH_QUEUE_SERIAL NULLdispatch_get_main_queue();@discussion Returns th...原创 2018-08-30 16:00:40 · 559 阅读 · 0 评论 -
GCD全解-01-dispatch-iOS系统调度
dispatch_queuehelp both the system and your application to run faster, more efficiently, and with improved responsiveness. Grand Central Dispatch (GCD) comprises language features, runtime libra...原创 2018-08-30 15:56:09 · 706 阅读 · 0 评论 -
多线程复习-NSOperation
NSInvocationOperationNSBlockOperationNSOperationQueueNSOperation多线程原创 2016-11-06 17:08:06 · 342 阅读 · 0 评论 -
线程锁-dispatch_semaphore
GCD信号量dispatch_semaphore原创 2016-11-06 17:05:26 · 439 阅读 · 1 评论 -
线程锁-NSRecursiveLock
NSRecursiveLock递归锁原创 2016-11-06 17:03:54 · 731 阅读 · 0 评论 -
线程锁- @synchronized
@synchronized线程锁多线程原创 2016-11-06 17:02:52 · 292 阅读 · 0 评论 -
线程锁-pthread_mutex_t
pthread_mutex_t线程锁原创 2016-11-06 17:01:51 · 327 阅读 · 0 评论 -
线程锁-NSConditionLock
NSConditionLock线程锁原创 2016-11-06 17:00:27 · 369 阅读 · 0 评论 -
GCD全解-08-dispatch_group-调度组/多异步操作控制
dispatch_group是干什么的?在处理并发操作的时候,如果是几个block同时并发,我们无法知道最后执行完毕的时候是在哪一个Block中,那么就无法知道在哪一个位置写上结束时的代码? dispatch_group_async 和 dispatch_group_notify可以实现这个功能。dispatch_groupdispatch_group将提交到这个group的bl...原创 2018-09-06 17:28:21 · 511 阅读 · 0 评论