高阶

Socket编程_[套接字]

Socket介绍 Socket[套接字] Python中提供socket.py标准库,非常底层的接口库 Socket是一种通用的网络编程接口,和网络层次没有一一对应的关系 协议族 AF表示address Family,用于socket()第一个...

Barrier

3.2引入Python的新功能 名称含义Barrier(parties,action=None,timeout=None)构建Barrier对象,指定参与方数目,timeout是wait方法未指定超时的默认值n_waiting当前在屏障中等待的线程数parites各方数,就是需...

GIL全局解释器锁-2

Python中绝大多数内置数据结构的读写都是原子操作 由于GIL的存在,Python的内置数据类型在多线程编程的时候就变成了安全的了,但是实际上他们本身不是线程安全类型的 保留GIL的原因 Guido坚持的简单哲...

Python_多进程_1

由于Python的GIL,多线程未必是CPU密集型程序的好的选择 多进程可以完全独立的进程环境中运行程序,可以充分地利用多处理器 但是进程本身的隔离带来的数据不共享也是一个问题,而且线程比进程轻量级 Mu...

daemon线程和non-daemon线程

注意:这里的daemon不是linux中的守护进程 进程靠线程执行代码,至少有一个主线程,其他线程是工作线程 主线程是第一个启动的线程 父线程:如果线程A启动了一个线程B,A就是B的父线程 子线程:B就是A的子线程 Pyt...

进程和线程-1

进程和线程 在实现了线程的操作系统中,线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运行单位,一个程序的执行实例就是一个进程 进程(Process)是计算机中的程序关于某数据...

Python_描述器

描述器 class A:       def __init__(self):           self.a1 = 'a1'           print('A.init')         class B:       x = A()          def __init__(self):           print('B.init')      ...

装饰器的应用_cache

数据类型的选择 缓存的应用场景,是有数据需要频繁查询,且每次查询都需要大量计算或者等待时间之后才能返回结果的情况,使用缓存来提高查询速度,用空间获取时间 Cache应该选用什么数据类型? 便于查询的,且能...