python标准库2
文章
7并发执行
参考文献 7.1 基于线程的并发执行多线程实现方法和属性 theading模块包含以下的类: Thread: 基本线程类 Lock:互斥锁 RLock:可重入锁,使单一进程再次获得已持有的锁(递归锁) Condition:条件锁,使得一个线程等待另一个线程满足特定条件,比如改变状态或某个值。 Semaphore:信号锁,为线程间共享的有限资源提供一个”计数器”,如果没有可用资源则会被阻塞。 Event:事件锁,任意数量的线程等待某个事件的发生,在该事件发生后所有线程被激活。 Timer:一种计时器 Barrier:Python3.2新增的“阻碍”类,必须达到指定数量的线程后才可以继续执行。 面向对象实现方法123456789101112import threadingclass MyThread(threading.Thread): def __init__(self, thread_name): super(MyThread, self).__init__(name = thread_name) # 重写run()方法 def run(se...
9网络和进程通信
asyncio — 异步 I/O 踩坑 进行总结。tmd。只记录最新版的Python能够使用的协程方式。 对象EventloopEventloop可以说是asyncio应用的核心,是中央总控。Eventloop实例提供了注册、取消和执行任务和回调的方法。 把一些异步函数(就是任务,Task,一会就会说到)注册到这个事件循环上,事件循环会循环执行这些函数(但同时只能执行一个),当执行到某个函数时,如果它正在等待I/O返回,事件循环会暂停它的执行去执行其他的函数;当某个函数完成I/O后会恢复,下次循环到它的时候继续执行。因此,这些异步函数可以协同(Cooperative)运行:这就是事件循环的目标。 Coroutine协程(Coroutine)本质上是一个函数,特点是在代码块中可以将执行权交给其他协程 1234567891011121314151617181920❯ cat coro1.pyimport asyncioasync def a(): print('Suspending a') await asyncio.s...












