随笔分类 - python并发编程
摘要:python协程详解 一、什么是协程 协程又称为微线程,协程是一种用户态的轻量级线程 协程拥有自己的寄存器和栈。协程调度切换的时候,将寄存器上下文和栈都保存到其他地方,在切换回来的时候,恢复到先前保存的寄存器上下文和栈,因此:协程能保留上一次调用状态,每次过程重入时,就相当于进入上一次调用的状态。
阅读全文
摘要:python多线程详解 一、线程介绍 什么是线程 线程(Thread)也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建
阅读全文
摘要:深入理解Python中的GIL(全局解释器锁) Python是门古老的语言,要想了解这门语言的多线程和多进程以及协程,以及明白什么时候应该用多线程,什么时候应该使用多进程或协程,我们不得不谈到的一个东西是Python中的GIL(全局解释器锁)。这篇我们就来看看这个GIL究竟是怎么回事。 1. GIL
阅读全文
摘要:from multiprocessing import Process,Lock import os,time,json with open('user', 'w', encoding='utf 8')as f: dic={'count':2} json.dump(dic,f) def search
阅读全文
摘要:[TOC] 线程 线程开启的两种方式 1 from threading import Thread import time def test(): print('hello world') t=Thread(target=test) t.start() print('hello') time.sle
阅读全文
摘要:[TOC] 线程锁 死锁问题及递归锁 死锁 被其他线程占用了锁头导致线程阻塞 递归锁 同一个锁可多次使用acquier()和release() 信号量 GIL全局解释器锁
阅读全文
摘要:目录 线程队列 1 2 3 线程定时器 进程池和线程池 线程队列 1 import queue q=queue.Queue() q.put('123') q.put('456') q.put('789') print(q.get()) print(q.get()) print(q.get()) q.
阅读全文