6.并发编程

发布时间:2026/7/31 6:23:54
6.并发编程 Python并发编程的三种方式多线程thread【threading模块】、多进程process【multiprocessing模块】、多协程coroutine【asyncio模块】。一个进程可以有多个线程一个线程可以有多个协程。其中线程、协程适用IO密集型场景进程适用多CPU计算场景。Python中多线程只能并发执行单CPU调度权在线程间轮替切换多进程是并行执行利用多CPU的特性。协程内存开销最少可以同时开启上万个协程。GILGlobal Interpreter Lock全局解释器锁依附进程不同进程间【多CPU】GIL互相独立。某个进程的任一时刻最多只有一个线程在运行其背后原理就是借助GIL锁实现的。如图单进程内部每个线程运行前提必须持有全局锁GILIO操作时释放全局锁GIL由其他线程竞争获取。Python相比静态语言Java/C非常慢的原因GIL锁的存在无法利用多核CPU并行执行。动态语言意味着边解释代码边执行。