Python高级——_12_高级语法(GIL,深浅拷贝,import导入)

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