GIL(全局解释器锁)
GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念,是为了实现不同线程对共享资源访问的互斥,才引入了GIL
在Cpython解释器中,同一个进程下开启的多线程,同一时刻只能有一个线程执行,无法利用多核优势
# 多线程示例
# 代码:两个函数分别执行4秒和7秒,总共应该耗时11秒,两个线程同时执行时,耗时7秒
输出结果:
多线程同时执行耗时仅7秒
t.start() 启动线程
t.join() 主线程等待t线程结束后才继续执行
不调用t.join()方法的情况: 主线程耗时0秒,直接结束,没有等那两个线程的函数执行完成就结束了进程。