内容将会持续更新,有错误的地方欢迎指正,谢谢!
拥有更好的学习体验 —— 不断努力,不断进步,不断探索 |
助力快速掌握 面试题 为面试者节省宝贵的学习时间,避免困惑! |
文章目录
一、进程、线程、协程的区别?
- 进程:
进程是程序资源管理的最小单位,每个进程都有独立的内存空间,进程之间的运行是相互独立的。
- 进程是操作系统进行资源分配和管理的基本单位。
- 每个进程都有独立的内存空间、文件描述符和其他资源。
- 进程之间相互独立运行,拥有自己的地址空间。
- 进程是程序资源管理的最小单位。
- 线程:
线程是进程的执行单元,同一进程中的多个线程是共享内存和资源的,线程是可以并发的。
同一时间可以执行多个线程,开辟线程的开销很大,但多线程能够更有效的利用计算机资源,在性能上线程要优于线程,线程适合多任务同时处理,线程不能操作Unity的很多方法和组件。
- 线程是进程中的执行流程,是任务调度和系统执行的最小单位。
- 同一进程中的多个线程共享进程的内存和资源。
- 线程之间的切换开销较小,因为它们共享相同的地址空间。
- 线程可以并发执行,但需要注意同步问题。
- 协程:
协程是在主线程运行的同时开启的另一段逻辑处理,来协助当前程序的执行,协程适合对某任务进行分时处理,协程是由程序员在代码里面显示调度的。
- 协程是一种用户态的轻量级线程,完全由程序控制。
- 协程不是由操作系统内核管理,而是由应用程序控制。
- 协程能保留上一次调用时的状态,每次过程重入时,相当于进入上一次调用的状态。
- 协程通常用于异步编程和高效的并发处理。
线程和协程的主要不同就在于多线程程序可以运行多个线程,而协同程序是通