一、线程与进程的区别与联系
1.什么是程序
程序是一个可执行的文件,比如说QQ.exe
2.什么是进程
进程是操作系统进行 资源 调度和分配的基本单位
3.什么是线程
是程序执行的基本单位,多个线程共享资源,操作系统进行运算调度的最小单位。
4.线程与进程的区别与联系
根本区别,线程是程序执行的基本单位,进程是操作系统进行资源调度和分配的基本单位
资源方面,进程之间的资源是相互独立的,线程之间的资源是相互共享的。
上下文切换,进程的话,速度比较慢,线程的话 ,速度比较快。
开销方面 ,进程的创建、销毁、调度开销大,线程的话,开销小。
在一个进程中,有多个线程同时运行。一个进程,包含多个线程。
二、多线程
单个进程中运行对个线程,这便是多线程。
多线程的好处是:1.提高CPU的利用率。2.提升应用程序的效应,提高用户体验。
多线程的局限性
1.线程越多,占用内存越多,上下文切换时,额外的耗费资源
2.对线程的管理要额外的消耗资源
3.存在线程的安全性问题(多个线程访问某个资源,并没有得到正确的行为)
三、并行与并发
串行就是一个一个的进行。
并行就是同时处理。
CPU在极短的时间内,反复切换执行不同的线程,看似好像是并行,但是只是CPU高速的切换。
四、同步与异步
同步与异步:执行某个功能后,被调用者是否会主动反馈信息
阻塞和非阻塞:执行某个功能后,调用者是否需要一直等待结果的反馈。