python开发面试题进程和线程对比_python 面试题 3.6 进程和线程

本篇讲 python的 进程和线程。 对这两个 主要也是对知识点的理解。 一般不会有人让你手写多线程或多进程, 但肯定会有人问相关的理解。所以最基本要理解。

主要要理解如下三个问题

1: 什么是进程?

答案 : 定义: 进程是程序的一次执行。 可以和别的计算并行执行, 是系统进行资源分配和调用的一个独立单位

2 : 什么是线程?

答案: 进程内同时运行多个子任务, 这里面的子任务 被称为 线程。 多个任务之间 由操作系统快速切换, 形成同时进行的效果。

3: GIL是什么?有什么作用?(或者是问 python 线程为什么没有太大优势)

答案:

GIL是全局解释器锁,是python 设计时 为了数据安全所作的决定。 导致每个进程同时只能执行一个线程。

python 的多线程执行时 ,会有一个GIL锁,任何python执行之前,必须先获得GIL锁,然后执行100字节码,随后释放GIL锁,让其他线程有机会执行。 所以这个GIL实际上将所有的线程上了一个全局锁,导致多线程在python中 只能轮流执行。 进而使多线程无法利用多核。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值