OC中多线程的使用、概念、创建方式、生命周期、使用注意等

本文详细介绍了Objective-C中的多线程概念,包括进程、线程的关系与作用,主线程的重要职责,以及多线程的优缺点。讨论了线程安全、线程同步技术如互斥锁,并介绍了iOS中实现多线程的方案如NSThread、GCD和NSOperation。此外,还提到了内存管理和线程同步的重要性。
摘要由CSDN通过智能技术生成

     进程

     什么是进程:在我们的系统中正在运行的程序

     进程的作用:负责给应用程序分配内存空间(该空间是受保护的,独立的)

     

     线程

     什么是线程:线程是CPU调度的最小单元,由CPU调度

     线程的作用:负责执行应用程序中的代码,在系统中运行着的程序的代码只能由线程执行

     线程创建过程:应用程序在启动过程中,系统会自动创建默认的线程,也就是程序的主线程/UI线程

     

     线程与进程之间的关系:一个进程至少有一个线程(即主线程),一个进程中可以有多个线程

     

     主线程的主要作用

     a、显示\刷新UI界面

     b、处理UI事件(比如点击事件、滚动事件、拖拽事件等)

     

     主线程相关用法

     + (NSThread *)mainThread; // 获得主线程

     - (BOOL)isMainThread; // 是否为主线程

     + (BOOL)isMainThread; // 是否为主线程

     

     开发原则:1、比较耗时的操作都放到子线程中(一般是在进行网络请求的时候,或者是执行时间不可控的时候)

             2UI操作、与用户交互的代码都放到主线程中,其一是因为为了保证用户操作的流程性,其二是因为所有的UI控件都在UIKIT框架中,而UIKIT框架采用的就是这种机制,苹果公司也推荐这种用法,都是非线程安全的,为了保证正确,将所有的用户交互的代码放到主线程中,而单一的线程是按顺序执行的,所以就避免了非线程安全的问题

     

     线程内的代码的执行顺序:

        串行执行:同一线程中,该线程中的任务代码按顺序执行,同一时间只能执行一块代码

        并发执行:一个进程可以创建多个子线程,在不同的线程中,任务同时执行(其实是一种假象,是因为CPU的调度速度非常快速,所以感觉是一起执行的)(即多线程)

        并行执行:真正的同时执行,由多个CPU同时执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值