线程和进程的关系和区别
线程和进程的关系和区别
一、线程的定义
线程是进程的基本执行单元,一个进程的所有任务都在线程中执行。 进程至少要有一条线程。 程序启动默认开启一条线程,这条线程被称为主线程或UI线程。
二、进程的定义
进程是指在系统中正在运行的一个应用程序。 每个进程之间是独立的,每个进程均运行在其专用的且受保护的内存中。
三、进程和线程的区别和联系
进程是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。
- 地址空间和其他资源:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其他进程不可见。
- 通信:进程间通信(IPC),线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
- 调度和切换:线程上下文切换比进程上下文切换要快得多。
- 在多线程OS中,进程不是一个可执行的实体。