进程与线程的自我理解

参考文档

进程是怎样工作的?

进程(process),是程序(program)运行的实体。当代码被编译成二进制文件加载到内存中后,系统要为它分配各种资源才能使其运行,主要包括寄存器(register), 程序计数器 (program counter),堆栈(stack and heap)。

线程是怎样工作的?

线程(thread),是进程内部的执行单元,一个进程中最少会有一个线程,一个进程中的所有线程共享内存与资源,也正是因为这样,创建和切换线程的各种开销要比进程更少。在多线程中,各个线程分别有自己的stack,但是会一起共享heap。

进程与线程的区别

1.进程是系统分配资源的最小单位,一个程序至少会有一个进程。线程是CPU可调度的最小单位,一个线程至少要依赖一个进程生成。

2.每一个进程都有独立的地址和内存空间,彼此之间互不影响。依赖于同一个进程的不同线程共享资源,共享内存和堆栈。

3.多进程服务较为健壮,因为一个进程宕了不会影响其它进程。而多线程时,一个线程宕了,其它也会跟着宕。 

4.多线程服务比多进程服务在空间和时间上的开销更小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值