摘要: # gil锁 # 全局解释器锁,Cpython解释器下有的 # 导致了python的多线程不能利用多核(不能并行)# 内容回顾# 池 concurrent.futures # 进程池 p = ProcessPoolExecutor(n) # 线程池 p = ThreadPoolExecutor(n) 阅读全文
posted @ 2020-02-10 14:09 混子1 阅读(294) 评论(0) 推荐(0) 编辑
摘要: client import time import socket from threading import Thread def client(): sk = socket.socket() sk.connect(('127.0.0.1',9001)) while True: sk.send(b' 阅读全文
posted @ 2020-02-09 16:56 混子1 阅读(253) 评论(0) 推荐(0) 编辑
摘要: import asyncioasync def func(name): print('start',name) # await 可能会发生阻塞的方法 # await 关键字必须写在一个async函数里 await asyncio.sleep(1) print('end')loop = asyncio 阅读全文
posted @ 2020-02-09 16:22 混子1 阅读(127) 评论(0) 推荐(0) 编辑
摘要: # 有多少个任务就开多少个进程或者线程# 什么是池 # 要在程序开始的时候,还没提交任务先创建几个线程或者进程 # 放在一个池子里,这就是池# 为什么要用池? # 如果先开好进程/线程,那么有任务之后就可以直接使用这个池中的数据了 # 并且开好的线程或者进程会一直存在在池中,可以被多个任务反复利用 阅读全文
posted @ 2020-02-09 16:21 混子1 阅读(293) 评论(0) 推荐(0) 编辑
摘要: # 死锁现象是怎么产生的? # 多把(互斥/递归)锁 并且在多个线程中 交叉使用 # fork_lock.acquire() # noodle_lock.acquire() # # fork_lock.release() # noodle_lock.release() # 如果是互斥锁,出现了死锁现 阅读全文
posted @ 2020-02-08 21:47 混子1 阅读(128) 评论(0) 推荐(0) 编辑
摘要: import timefrom threading import Threaddef son(): while True: print('in son') time.sleep(1)def son2(): for i in range(3): print('in son2 ****') time.s 阅读全文
posted @ 2020-02-08 21:42 混子1 阅读(195) 评论(0) 推荐(0) 编辑
摘要: # 进程 : 数据隔离,资源分配的最小单位,可以利用多核,操作系统调度,数据不安全,开启关闭切换时间开销大 # multiprocessing 如何开启进程 start join # 进程有数据不安全的问题 Lock (抢票的例子) # 进程之间可以通信ipc: # 队列(安全) 管道(不安全) # 阅读全文
posted @ 2020-02-08 15:05 混子1 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 在安装第三方库的时候,Python报错pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. pyth 阅读全文
posted @ 2020-02-07 21:26 混子1 阅读(3194) 评论(0) 推荐(1) 编辑
摘要: # 进城之间数据隔离# 进程之间通信(IPC) Inter Process communication # 基于文件 :同一台机器上的多个进程之间通信 # Queue 队列 # 基于socket的文件级别的通信来完成数据传递的 # 基于网络 :同一台机器或者多台机器上的多进程间通信 # 第三方工具( 阅读全文
posted @ 2020-02-07 18:38 混子1 阅读(151) 评论(0) 推荐(0) 编辑
摘要: import jsonimport timefrom multiprocessing import Process,Lockdef search(i): with open('ticket',encoding='utf-8') as f: ticket = json.load(f) print('% 阅读全文
posted @ 2020-02-07 18:29 混子1 阅读(167) 评论(0) 推荐(0) 编辑