解释一下 Python 的全局解释器锁(GIL)。它对多线程有什么影响?
Explain Python's Global Interpreter Lock (GIL) and its impact on multithreading.
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: Programming
标签: Python, GIL, Threading
参考答案摘要
答案 GIL 是 CPython 的机制:同一进程内同一时刻只允许一个线程执行 Python 字节码,主要用于简化内存管理与保护解释器内部结构。影响是: CPU 密集型 任务多线程难以获得并行加速;但 I/O 密集型 任务(网络/磁盘)在 I/O 时会释放 GIL,线程仍能提升吞吐。CPU 并行通常用多进程或原生扩展释放 GIL。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。