多线程基础(六)GCD基础

简介:

1、GCD的基本概念


  • 什么是GCD
  • 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器”
  • 纯C语言,提供了非常多强大的函数
  • GCD的优势
  • GCD是苹果公司为多核的并行运算提出的解决方案
  • GCD会自动利用更多的CPU内核(比如双核、四核)
  • GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程)
  • 程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码

2、GCD的代码演示


首先建议略记下下面的英文单词,真的会有助于你代码的认识,我个人发现像我英语单词不认识几个的,GCD代码涉及到那么多生僻的单词,放在代码里去记忆,容易忘记,容易被旁边的代码的单词干扰。

这里的代码多练习几遍,直到不看源码就能敲出来

首先是“并发队列”—>”异步函数"

关于“并发队列”—>”异步函数”补充老师的代码:

关于“串行队列”—>”异步函数”

关于“(全局)并发队列”—>”同步函数”

关于“串行队列”—>”同步函数”

关于“主队列”—>”异步函数”

关于“主队列”—>”同步函数”

3、串行队列介绍


异步函数:不需要等待当前代码执行完毕,就可以执行后面的代码

同步函数:要等待当前代码执行完毕,才能继续往下执行

GCD线程不是想开多少就能成功开多少的,这个是由CPU性能决定的。当CPU特别好,就能给你成功开很多个线程。

加载网络图片使用GCD

小黄人高清图片下载URL: @"http://g.hiphotos.baidu.com/zhidao/pic/item/42166d224f4a20a4884b622491529822730ed0f8.jpg"

4、GCD常用的函数,很强大哦,必须掌握


最常用,延迟执行

使用栅栏函数

GCD一次性代码

快速敲出一次性代码:

不能放在懒加载中的,原因是

GCD快速迭代函数的使用

什么是迭代:其实就是for循环

下面通过一个小案例来实现快速迭代

需求:让一个文件夹下面的图片全部移动另一个文件夹下面

没有使用快速迭代遍历

使用快速迭代遍历:

相关文章
|
6月前
|
API 调度 iOS开发
多线程和异步编程:什么是 GCD(Grand Central Dispatch)?如何在 iOS 中使用 GCD?
多线程和异步编程:什么是 GCD(Grand Central Dispatch)?如何在 iOS 中使用 GCD?
76 1
|
安全 调度 C语言
iOS多线程之GCD-同步、异步、并发、串行、线程组、栅栏函数、信号量等全网最全的总结
iOS多线程之GCD-同步、异步、并发、串行、线程组、栅栏函数、信号量等全网最全的总结
985 1
|
网络性能优化 API 调度
36 Swift多线程编程新思路:GCD
Swift多线程编程新思路:GCD
104 0
|
iOS开发
iOS中的多线程与GCD队列关系
iOS中的多线程与GCD队列关系
186 0
iOS中的多线程与GCD队列关系
|
缓存 程序员 调度
iOS开发多线程篇-GCD
上篇文章介绍了多线程是什么、线程的进程的区别,在这篇文章中,主要介绍iOS开发中多线程GCD的使用方式和注意事项,同时会给出几种多线程的案例。
|
数据库 iOS开发
ios多线程-GCD基本用法
ios中多线程有三种,NSTread, NSOperation,GCD 这篇就讲讲GCD的基本用法
|
安全 iOS开发
iOS多线程开发之深入GCD
iOS多线程开发之深入GCD
110 0
iOS多线程开发之深入GCD
|
调度 C语言 iOS开发
iOS多线程编程之三——GCD的应用(二)
iOS多线程编程之三——GCD的应用
148 0
iOS多线程编程之三——GCD的应用(二)
|
调度 C语言 iOS开发
iOS多线程编程之三——GCD的应用(一)
iOS多线程编程之三——GCD的应用
139 0
iOS多线程编程之三——GCD的应用(一)
GCD处理多线程同步操作 韩俊强的博客
原文地址: http://blog.csdn.net/qq_31810357/article/details/78906308 未经许可,严禁转载! GCD使用 dispatch_group_notify、dispatch_group_enter、dispatch_group_leave处理多线程同步操作 一、简介 dispatch_group_enter:通知group,下面的任务马上要放到group中执行。
1159 0