Skip to content

wuyubeichen/GCDThreadDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GCDThreadDemo

此项目用于理解iOS中的线程与队列、同步与异步、串行与并行这些概念。

一、iOS中获取队列的三种方式:

主线程队列:

主线程队列为串行队列,和主线程绑定。同普通串行队列一样,队列中任务一次只能执行一个,但是队列中所有任务都在主线程中执行(经过测试,即使是异步添加的任务,也没有创建新的线程)。

全局队列:

系统全局队列为并发队列,根据不同的优先级(HIGH、DEFAULT、LOW、BACKGROUND)有四个。

自定义队列:

系统提供方法,可以自定义创建串行和并行队列。

二、同步与异步

同步与异步:决定可不可以开启新的线程

同步:在当前线程立即执行添加的任务,不具备开启新线程的能力。

异步:在新的线程中执行任务,具备开启新线程的能力

三、串行与并行

并行与串行:决定了任务的执行方式

并行:可以多个任务并发(同时)执行。类型迅雷,多个任务同时开启下载

串行:一个任务执行完毕后,再执行下一个任务。类似浏览器的一个接一个下载

四、测试页面:

五、测试结果:

image

image

About

测试GCD中同步、异步、串行队列、并行队列的使用

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published