Appearance
操作系统
操作系统相关知识
进程、线程、协程
进程、线程和协程是计算机程序执行的三种不同方式。
进程 是操作系统分配资源和调度的基本单位,它拥有独立的内存空间和系统资源。一个进程可以包含多个线程,线程共享进程的资源。
线程 是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。线程共享进程的内存空间和系统资源,但拥有独立的运行栈和程序计数器。
协程 是一种轻量级的线程,它避免了无意义的调度,由此可以提高性能。但也因此,程序员必须自己承担调度的责任。协程也失去了标准线程使用多CPU的能力。
进程和线程的区别与联系
进程和线程之间的区别主要在于它们是不同的操作系统资源管理方式。
进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响。
而线程只是一个进程中的不同执行路径,线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间。
同一进程的所有线程共享该进程的所有资源,一个线程死掉就等于整个进程死掉。
一个线程只能属于一个进程,而一个进程可以有多个线程,且至少有一个线程。