多线程
文章平均质量分 52
allanGold
这个作者很懒,什么都没留下…
展开
-
【GPUImage】同步队列死锁问题解决-借助dispatch_queue_set_specific
同步、异步以及死锁,不要使用 dispatch_get_current_queue(),使用队列特有数据 dispatch_queue_set_specific原创 2022-09-17 18:40:02 · 434 阅读 · 0 评论 -
【多线程】NSOperation
iOS 多线程:『NSOperation、NSOperationQueue』详尽总结知识性文章记录本文用来介绍 iOS 多线程中 NSOperation、NSOperationQueue 的相关知识以及使用方法。通过本文,您将了解到:NSOperation、NSOperationQueue 简介、操作和操作队列、使用步骤和基本使用方法、控制串行/并发执行、NSOperation 操作依赖和优先级、线程间的通信、线程同步和线程安全,以及 NSOperation、NSOperationQueue 常用原创 2020-10-17 11:29:05 · 207 阅读 · 0 评论 -
【atomic】再谈从atomic关键字说到多线程安全(内含iOS给代码加锁方法总结)
再谈从atomic关键字说到多线程安全(内含iOS给代码加锁方法总结)atomic是什么原子性:在默认情况下,由编译器所合成的方法会通过锁定机制确保其原子性(atomicity)。如果声明属性时不显式地声明nonatomic关键字,那这个属性就是“原子的”(atomic)。如果属性具备nonatomic特质,则不使用同步锁。atomic 和 nonatomic这对属性关键字是和线程安全挂钩的,虽然 atomic 属性关键字会给该 property 的 getter和setter方法加锁,但它也不能保原创 2020-08-26 14:39:02 · 965 阅读 · 0 评论 -
iOS 多线程之任务和队列
iOS 多线程之任务和队列前言学习多线程,肯定要了解GCD,GCD两个最核心的概念就是:任务和队列。所以学习好多线程,首先要把任务和队列吃透,才能能好的使用多线程。为什么使用GCD?因为使用 GCD 有很多好处啊,具体如下:GCD 可用于多核的并行运算;GCD 会自动利用更多的 CPU 内核(比如双核、四核);GCD 会自动管理线程的生命周期(创建线程、调度任务、销毁线程);程序...原创 2020-04-23 22:44:50 · 722 阅读 · 0 评论 -
记录使用MCDownloader遇到的问题
https://github.com/agelessman/MCDownloader第一个是多个任务同时加载导致部分资源超时的问题主要是_downloadQueue.maxConcurrentOperationCount = 3;还有_downloadTimeout = 30.0;sessionConfiguration.timeoutIntervalForRequest = ...原创 2019-08-21 10:50:03 · 315 阅读 · 1 评论 -
dispatch_semaphore_wait 理解
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);/*code*/对semaphore减一,如果得值小于0(注意是小于0),则等待,如果不小于0,则执行code处代码所以如果是执行多个任务的话,一般把wait放在dispatch_async的block的第一行,因为会有多个dispatch_async,把d...原创 2019-03-27 17:44:12 · 8117 阅读 · 0 评论 -
iOS 多个异步任务的监控
iOS 多个异步任务的http://outofmemory.cn/objective-c/ios-async-task-monitor在发起网络请求时,我们一般会用异步请求,这里我们以 AFNetWorking 为例:AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manage...转载 2018-03-21 10:18:58 · 1202 阅读 · 0 评论 -
耗时操作与UI改变
当在做一个很耗时的操作时,同时改变了UI(添加子视图或者 展示loading小菊花),UI会不起作用这个时候需要把耗时的操作放到子线程中,异步进行原创 2017-09-25 11:48:33 · 464 阅读 · 0 评论 -
关于dispatch_semaphore的使用
出处http://www.cnblogs.com/snailHL/p/3906112.htmldispatch_semaphore是GCD用来同步的一种方式,与他相关的共有三个函数,分别是dispatch_semaphore_create,dispatch_semaphore_signal,dispatch_semaphore_wait。下面我们逐一介绍三个函数:(转载 2017-05-26 14:05:21 · 288 阅读 · 0 评论