iOS开发之GCD(1)初探
来源:互联网 发布:淘宝助理批量宝贝描述 编辑:程序博客网 时间:2024/05/29 18:12
概念:
GCD即Grand Central Dispatch,它是异步执行任务的技术之一。一般将应用程序中技术的线程管理用的代码在系统层级上实现。开发者只需要将定义好的任务追加到dispatch queue中,GCD就能生成必要的线程并按计划执行任务。由于线程管理是作为系统的一部分来实现的,因此可以统一管理,也可执行任务,相较于以前的多线程管理更加有效率。
实例:
dispatch_queue_t mySerialDispatchQueue = dispatch_queue_create(NULL, NULL); dispatch_async(mySerialDispatchQueue, ^{ //执行长时间的处理 //图像识别 //数据库读取 dispatch_async(dispatch_get_main_queue(), ^{ //用户界面更新 }); });
什么是线程:
1个cpu执行cpu命令列为一条无分叉的路径。
什么是多线程:
虽然1个cpu执行cpu命令列为一条无分叉的路径。但是一个物理cpu芯片上可能会有多个cpu(多核),一个执行命令的cpu也可能虚拟化出多个核心,这就使得计算机可以实现多线程处理。甚至当计算机只有一个cpu的时候也能够通过调度(保存当前执行路径的状态到专用内存区块,然后切换执行路径)使得看上去像是一个cpu同时执行多个命令列,这被成为上下文切换。
多线程编程容易遇到的问题:
利用多线程特性编程的技术,我们称之为多线程编程。
(1)数据竞争-多个线程更新相同的资源导致数据的不一致。
(2)死锁-停止等待时间的线程会导致多个线程相互持续等待
(3)内存不足-不合理生成线程,导致大量的内存消耗
0 0
- iOS开发之GCD(1)初探
- ios开发之GCD基础(一)
- IOS多线程开发之GCD
- IOS多线程开发之GCD
- IOS多线程开发之GCD
- IOS开发之GCD详解
- IOS多线程开发之GCD
- IOS多线程开发之GCD
- IOS多线程开发之GCD
- iOS多线程开发之GCD
- iOS开发 多线程之”GCD“
- iOS开发 多线程之”GCD“
- IOS多线程开发之GCD
- iOS开发:多线程之GCD
- iOS开发之GCD -- dispatch_group
- iOS开发 - 多线程之GCD
- iOS开发之GCD介绍
- IOS开发之GCD---dispatch_semaphore
- 中英文混合字符串截取
- 【Plan 第九场】
- Java中System.getProperty()的取值问题
- wireshark编译相关问题
- synchronized锁住了什么
- iOS开发之GCD(1)初探
- linux环境下 java生成html文件 中文乱码 解决方案
- decltype() demo
- add/remove operation is impossible, because the code element ...
- Windows下编译eXosip、osip,以及UAC和UAS的例子
- linux 限速工具
- 贪心算法之——阶乘之和(nyoj91)
- Qt Widget和Dialog区别和使用,QWidget一闪而过
- ipa包是否支持arm64方法