| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> iOS多线程概念总结 -> 正文阅读 |
|
[移动开发]iOS多线程概念总结 |
前言在上一篇章中我们主要探索了KVO的底层原理,和实现过程,也学习了自定义KVO的实现,那么本篇就开启了大家心心念念的多线程了,其实多线程相关的使用方式,和一些概念的文章并不少,也是面试中基本是必问的内容,那么今天我们就一起来总结一些多线程的一些基本概念,权当回顾一下😄 1.线程的定义
2.进程的定义
3.两者的关系地址空间:同?进程的线程共享本进程的地址空间,?进程之间则是独?的地址空间。 资源拥有:同?进程内的线程共享本进程的资源,如内存、I/O、cpu等,但是进程之间的资源是独?的。
4.多线程的原理
总结:
多线程技术方案 5.多线程的优缺点优点
缺点
6.线程的生命周期
Runnable:就是调用的线程的start方法后,这时候线程处于等待CPU分配资源阶段,谁先抢的CPU资源,谁开始执行; Running:当就绪的线程被调度并获得CPU资源时,便进入运行状态,run方法定义了线程的操作和功能; Blocked:在运行状态的时候,可能因为某些原因导致运行状态的线程变成了阻塞状态,比如sleep、等待同步锁,线程就从可调度线程池移出,处于了阻塞状态,这个时候sleep到时、获取同步锁,此时会重新添加到可调度线程池。唤醒的线程不会立刻执行run方法,它们要再次等待CPU分配资源进入运行状态; Dead:如果线程正常执行完毕后或线程被提前强制性的终止或出现异常导致结束,那么线程就要被销毁,释放资源。 7.线程池
饱和策略
这四种拒绝策略均实现的RejectedExecutionHandler接? 8.互斥锁与自旋锁在多线程中,因为在同一个进程中,资源是共享的,所以多线程必然存在着资源的竞争,那么就引入了锁的概念。 互斥锁 最常使用于线程同步的锁;标记用来保证在任一时刻,只能有一个线程访问该对象,同一线程多次加锁操作会造成死锁;临界区和互斥量都可用来实现此锁,通常情况下锁操作失败会将该线程睡眠等待锁释放时被唤醒。 互斥锁小结
互斥锁参数
自旋锁 一种用于保护多线程共享资源的锁,与一般互斥锁不同之处在于当自旋锁尝试获取锁时以忙等待的形式不断地循环检查锁是否可用。当上一个线程的任务没有执行完毕的时候(被锁住),那么下一个线程会一直等待(不会睡眠),当上一个线程的任务执行完毕,下一个线程会立即执行。 区别(取自同期优秀LGPerson总结😄) 自旋锁会忙等,所谓忙等,即在访问被锁资源时,调用者线程不会休眠,而是不停循环在那里,直到被锁资源释放锁。 互斥锁会休眠,所谓休眠,即在访问被锁资源时,调用者线程会休眠,此时cpu可以调度其他线程工作,直到被锁资源释放锁。此时会唤醒休眠线程。 自旋锁优缺点 9.atomic与nonatomic 的区别1.OC在定义属性时有nonatomic和atomic两种选择,默认为atomic属性
2.nonatomic和atomic的对比
iOS开发的建议
10.线程和Runloop的关系
|
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/19 10:18:17- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |