首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS多线程
订阅
Ethan_iOS
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
iOS - 关于 GCD 的一些总结
1. GCD 初识 开发者只需要告诉 GCD 想要执行什么任务,不需要编写任何线程管理代码。 GCD 中的任务有两种封装:dispatch_block_t 和 dispatch_function_t。 提交给指定队列的 block,无参无返回值。 提交给指定队列的 functi…
OC底层知识点之-多线程(五)补充篇:锁
从上图我们可以知道锁的性能从低到高依次为:OSSpinLock(自旋锁) -> dispatch_semaphone(信号量) -> pthread_mutex(互斥锁) -> NSLock(互斥锁) -> NSCondition(条件锁) -> pthread_mutex(r…
OC底层知识点之-多线程(四)GCD下篇
1.onceToken,这是一个静态变量,由于不同位置定义的静态变量是不同的,所以静态变量具有唯一性。 4.如果任务执行后,加锁失败了,则走到_dispatch_once_mark_done_if_quiesced函数,函数里再次进行存储,将标识符置为DLOCK_ONCE_DO…
OC底层-GCD知识总结
本文主要总结GCD的一些使用方法。 同步线程|dispatch_sync|将任务追加到指定的队列中,追加的Block结束之前,dispatch_sync函数会一直等待。 栅栏函数|diapatch_barrier_async|将任务追加到指定的队列中,dispatch_sync…
OC底层知识点之-多线程(三)GCD中篇
上篇文章我们对GCD进行了初步了解OC底层知识点之-多线程(二)GCD上篇。在文章最后我们讲了dispatch_async中work如何执行。这篇我们继续分析下异步函数dispatch_async和同步函数dispatch_sync 1._dispatch_continuati…
OC底层知识点之-多线程(二)GCD上篇
上面文章我们说了不少跟线程有关的知识点传送门。本文我们继续学习多线程,我们主要介绍多线程GCD。 【总结】:GCD就是将任务添加到队列,并且指定执行任务的函数。 在GCD使用中我们只需要做两件事:1.定义任务。2.将任务添加到队列中。所以GCD的核心就是dispatch队列和任…
OC基础知识点之-多线程(一)多线程基础
1.地址空间:同⼀进程的线程共享本进程的地址空间,⽽进程之间则是独⽴的地址空间。 2.资源拥有:同⼀进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独⽴的。 1: ⼀个进程崩溃后,在保护模式下不会对其他进程产⽣影响,但是⼀个线程崩溃整个进程都死掉。所以…
iOS 多线程详解
在 iOS 中每个进程启动后都会建立一个主线程(UI 线程),这个线程是其他线程的父线程。由于在 iOS 中除了主线程,其他子线程是独立于 Cocoa Touch 的,所以只有主线程可以更新 UI 界面。
iOS探索 多线程之NSOperation
与GCD一样,NSOperation也是我们日常开发中经常用到的多线程技术。本文将会介绍NSOperation的基本使用、添加依赖、自定义
iOS探索 多线程之GCD底层分析
由于源码的篇幅较大、逻辑分支、宏定义较多,使得源码变得晦涩难懂,让开发者们望而却步。但如果带着疑问、有目的性的去看源码,就能减少难度,忽略无关的代码。首先提出本文分析的几个问题: 上层使用dispatch_queue_create,全局进行搜索。但是会出现搜索结果众多的情况(6…