Python高级——_12_高级语法(GIL,深浅拷贝,import导入)
GIL:全局解释器 GIL
锁定与CPython 因为C语言的资源管理不能让多个线程同时操作
申请:线程需要运行
锁定解释器内部的全局系统资源<内存>
释放:1.超时释放 2.线程退出 3.线程阻塞 自动释放
忽略:单线程 不适用CPython解释器 使用多进程 C语言二进制代码(动态库)让Python调用
对于CPython的影响:同时只能有一个线程运行
多线程和单线程执行网路程序时,还是多线程效率高。因为在阻塞时CIL会释放
GIL和Lock不是一个层面的概念
底层有GIL python层面修改全局变量 任需要LOCK
因为CIL无法控制什么时候释放
赋值:本质就是对象之间的引用传递
浅拷贝:没有完全拷贝 只拷贝数据的顶层结构
效率高,占用资源少。速度快
深拷贝:不仅拷贝数据 还拷贝了引用对应的数据
其他方式:分片操作是浅拷贝 列表字典的copy()方法
深拷贝和浅拷贝 对于不可变类型没有意义,都是引用
import vs from-import
1.导入制定路径下的模块
1.修改sys.path变量
程序重启后失效
2.修改环境变量 python_path