进程、线程、纤程

进程:是操作系统分配资源的基本单位,对于一个应用程序启动,就会开启对应的一个进程,分配一块内存空间。对linux而言,一个进程的内核数据结构是一个PCB(进程描述符 Process Control Block),用来存储进程的相关信息。

 

线程:执行调度的基本单位。一个进程会开启一个或多个线程, 这些线程会共享进程的内存空间,没有线程自己独立的内存空间。

在hotspot的jvm中,一个线程,对应操作系统的一个线程。 这个过程对于jvm的应用来讲,应用开启一个线程,会调用jvm底层进行请求操作内核开启一个系统线程,实际上会发生一个系统调用,这个时候,会有用户态到内核态的一个切换过程,会通过int 0x80(80中断/软中断)机制进行系统调用,执行系统函数。然后再把结果一层层返回给应用。

 

纤程(协程):是线程中的线程,比线程更轻量级,是完全执行在用户态的线程,切换和调度都不需要经过操作系统老大。

     优势:

           1、轻量级,大小比较小,一个纤程大概4k。

           2、速度更快,切换和调度不经过操作系统

           3、高效,可以一次启动10+个

目前支持纤程的语言有go、python、lua等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值