重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在GIL(全局解释器锁)与互斥锁的前提下,程序的运行过程分析 针对Cpython所拥有的GIL锁 作用:由于Cpython解释器在运行python文件时, Cpython进程与其运行文件所产生的主进程是一个进程(文件进程相当于Cpython的一个线程) 线程的特点是数据资源是共享的,而多个线程又都要共享Cpython的解释权限,共享意味着竞争,有竞争数据就不安全, 所以Cpython的GIL锁(Cpython的一个线程) 就产生了,根本作用是,当python文件中的线程想要执行其代码,必须获得GIL权限,否则不能执行, 所以cpu的多核优势也没有了,除非多开Cpython解释器或多进程,否则同时只能运行一个线程 互斥锁作用: 互斥锁用于python文件运行进程(线程)时,使数据修改等操作的竞争变得有序化