【讨论题】GIL 是很多解释型语言绕不开的话题,试从源码的角度分析数据结构 Map 在任意一种编译型语言(比如:Java)和解释型语言 Python,他们分别是如何保证线程安全的?
题目描述
本章我们详细地学习了 Python GIL 的知识,从源码的角度学习了 GIL 的定位以及作用,而通过源码学习是非常有效的学习方式,请试从源码的角度分析数据结构 List 在任意一种编译型语言(比如:Java)和解释型语言 Python,他们分别是如何保证线程安全的?以此来加固相关知识。
关键提炼
- 什么是线程安全?什么是临界资源?
- List 的实现原理
- 在实现过程中,源码是如何保证线程安全的