首页
首页
沸点
课程
直播
活动
竞赛
商城
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 都大有裨益。 要先了解什么是线…