名词解释
- 进程
进程是OS分配资源的基本单位。 - 线程
线程是执行调度的基本单位(线程共享进程的内存空间,没有自己独立的内存空间,但是拥有自己的堆栈和程序计数器)。 - 纤程/协程
用户态的线程,线程中的线程,切换和调度不需要经过OS,即处于用户态,而不是处于内核态。 - 中断
硬件跟操作系统内核打交道的一种机制。
系统调用:int 0x80 或者 sysenter原语
线程和纤程的区别
①:纤程占有资源很少,线程1M,纤程4K;
②:纤程切换比较简单,不需要和内核打交道;
③:纤程可以启动很多个10W+。
④:在多核处理器中,线程可以有效利用CPU资源,纤程只能在一个线程中运行,无法充分利用多核CPU。
目前支持内置纤程的语言:Kotlin Scala Go。
但是JAVA有内置纤程,但是目前不成熟。