python多线程

python基础之多线程锁机制

GIL(全局解释器锁)

GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念,是为了实现不同线程对共享资源访问的互斥,才引入了GIL

在Cpython解释器中,同一个进程下开启的多线程,同一时刻只能有一个线程执行,无法利用多核优势


# 多线程示例

# 代码:两个函数分别执行4秒和7秒,总共应该耗时11秒,两个线程同时执行时,耗时7秒

python多线程_第1张图片

输出结果:

多线程同时执行耗时仅7秒

python多线程_第2张图片

t.start()   启动线程

t.join()    主线程等待t线程结束后才继续执行


不调用t.join()方法的情况: 主线程耗时0秒,直接结束,没有等那两个线程的函数执行完成就结束了进程。


python多线程_第3张图片




你可能感兴趣的:(python多线程)