首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程
订阅
火柴盒环游记
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
iOS多线程:GCD详解
GCD有着很明显的优势,正是这些优势才使得GCD在处理多线程问题有着举足轻重的地位。 相信很多初级开发者会对GCD任务和队列之间的关系理解含糊不清,实际上队列只是提供了保存任务的容器。为了更好的理解GCD,很有必要先了解任务和队列的概念。 任务就是需要执行的操作,是GCD中放在…
iOS底层(十三)-多线程
线程是进行的基本执行单元, 一个进程的所有任务都在线程中执行。 进行想要执行任务,必须要有线程,进程至少要有一条线程。 程序启动会默认开启一条线程, 这条线程被称为主线程或UI线程。 进程是指在系统中正在运行的一个程序。 每个进程之间都是独立的, 每个进程均运行在其专用的且受保…
细说 NSOperation
本文详细介绍了在实现同步、异步 NSOperation 时分别需要实现哪些方法、注意哪些问题。最后对 GCD 与 NSOperation Queue 作了一个简单的对比。 在 iOS 中实现并发编程主要有三种方式:GCD、NSOperation Queue以及Thread,其中…
iOS源码解析: GCD的信号量semaphore
信号量是GCD中最常见的操作,通常用于保证资源的多线程安全性。其本质实际上是基于mach内核的信号量接口来实现的,本文将从源码角度对其进行解析。 xref和ref是引用相关的。value和orig则是信号量执行任务的关键。执行一次dispatch_semaphore_wait操…
iOS底层学习 - 多线程之GCD初探
GCD全程为Grand Central Dispatch,由C语言实现,是苹果为多核的并行运算提出的解决方案,CGD会自动利用更多的CPU内核,自动管理线程的生命周期,程序员只需要告诉GCD需要执行的任务,无需编写任何管理线程的代码。GCD也是iOS使用频率最高的多线程技术。 …
面试官:说一下公平锁和非公平锁的区别?
上次我们提到了乐观锁和悲观锁,那我们知道锁的类型还有很多种,我们今天简单聊一下,公平锁和非公平锁两口子,以及他们在我们代码中的实践。 开始聊之前,我先大概说一下他们两者的定义,帮大家回顾或者认识一下。 公平锁:多个线程按照申请锁的顺序去获得锁,线程会直接进入队列去排队,永远都是…
iOS底层学习 - 多线程之GCD应用篇
我们知道GCD除了基本的dispatch_sync和dispatch_async用法外,还有一些其他的用法,比如信号量,调度组,延时执行等等。我们来看一下这个使用是怎么应用到我们平常的多线程开发当中的。 下面我们来分析一下,我们发现在主队列中有while任务NSLog任务,所以…
iOS多线程:『NSOperation、NSOperationQueue』详尽总结
1. NSOperation、NSOperationQueue 简介 NSOperation、NSOperationQueue 是苹果提供给我们的一套多线程解决方案。
iOS底层学习 - 多线程之基础原理篇
当一个程序进入内存运行时,即变成一个进程。进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位。每个进程之间是独立的,每个进程均运行在其专用的且受保护的内存。 在iOS开发中,一个App在内存中就是一个进程,且相互独立,只能访问自己的沙…
iOS 查漏补缺 - 线程
多线程是我们开发和面试中都会遇到的一个重要概念,相比于其他编程语言和平台,iOS 的多线程使用起来要比较友好和易用一些。但是对于多线程的基本概念,我们还是需要重视起来,这对于我们探索 pthread、NSThread、GCD 以及 RunLoop 都大有裨益。 要先了解什么是线…