ios多线程
新手小小鸟
每天拾取一根稻草,记录点点滴滴,坚持中...
展开
-
GCD的基本介绍及常见用法和应用场景
GCD的基本介绍及常见用法和应用场景 队列和任务初学GCD的时候,肯定会纠结一些看似很关键但却毫无意义的问题。比如:GCD和线程到底什么关系;异步任务到底在哪个线程工作;队列到底是个什么东西;mian queue和main thread到底搞什么名堂等等。转载 2016-12-19 10:35:07 · 1397 阅读 · 0 评论 -
GCD 的几个常见的问题分析
GCD 的几个常见的问题分析 问题一:队列和线程的关系错误理解:有些人会产生一种错觉,觉得队列就是线程。又有些人会有另外一种错觉,一个追加Block就是一个线程。正确理解:对我们使用者来说,与其说GCD是面向线程的,不如说是面向队列的。 它隐藏了内部线程的调度。我们所做的仅仅是创建不同的队列,把Block追加到队列中去执行,而队列是FIFO(先进先出)的。转载 2016-12-27 10:20:22 · 1259 阅读 · 0 评论 -
GCD的背景和使用中的一些问题
GCD的背景和使用中的一些问题转载 2016-12-20 09:48:14 · 284 阅读 · 0 评论 -
ios多线程--基础知识(进程,线程,线程安全,互斥锁,线程通讯)
基础知识: 进程: 在系统中正在运行的一个应用程序,每个进程之间是独立的,每个进程都运行在其专用并且受保护的内存空间中 线程: 一个进程要想执行任务,必须得有线程(一个进程至少有一条线程),进程中所有的任务都在线程中执行 二者关系与比较比较: 1.线程是CPU执行任务的最小单位 2.进程是CPU分配资源的最小单位 3.一个进程至少有一条线程 4.进程内的线程共享这个进程的资源...原创 2018-05-27 11:32:14 · 263 阅读 · 0 评论 -
ios多线程--NSThread
一个NSThread对象就代表着一条线程 创建启动线程 //创建线程 /* 第一个参数:目标对象 第二个参数:选择器,线程启动要调用哪个方法 第三个参数:前面方法要接收的参数(最多只能接收一个参数,没有则传nil) */ NSThread *thread = [[NSThread alloc]initWithTarget:se...转载 2018-05-29 18:18:21 · 228 阅读 · 0 评论 -
ios多线程--GCD
GCD全称Grand Central Dispatch,纯C语言,提供了很多强大的函数,现在ios开发中非常主流的多线程开发方式,记录一下基本原理以及面试中 GCD的两个核心概念: 任务:执行的操作 队列:用于存放任务 将任务添加到队列中,GCD会自动将任务取出,放到对应的线程中去执行,取出遵循队列的FIFO:先进先出 执行任务分为同步和异步: 主要影响能不能开启...原创 2018-05-30 18:18:07 · 227 阅读 · 0 评论 -
ios多线程--NSOperation
NSOperation的基本使用: NSOperation是对GCD的封装,两个核心概念:队列,操作 它的基本概念: NSOperation本身是抽象类,只能只有它的子类 三个子类分别是:NSBlockOperation、NSInvocationOperation以及自定义继承自NSOperation的类 NSOperation和NSOperationQueue结合使用实现多线程并发 ...原创 2018-06-20 10:55:52 · 151 阅读 · 0 评论