摘要:
selector 模块进行自动匹配,当是windows系统时,自动匹配select, linux系统时,自动匹配epoll,传输时会明确告诉内核响应服务器的地址,速度要更快 import selectors import socket sel = selectors.DefaultSelector( 阅读全文
摘要:
select 对程序进行同时检测,当发生响应时,数据被拷贝到内核区域,内核区通知用户程序来进行读取数据,内核区域并不知道是客户端连接,因此需要进行循环server_socket 端import select, socket, queueserver = socket.socket()server.b 阅读全文
摘要:
通过gevent实现socket的多并发server 端:import geventfrom gevent import socket, monkeymonkey.patch_all() #进行IO标记def server(port): s = socket.socket() s.bind(('lo 阅读全文
摘要:
gevent 是一个第三方库,可以很容易的实现遇到io(文件传输)操作时,程序自动跳转到下一个程序 例一: 用gevent.sleep() 来模拟io操作 阅读全文
摘要:
from greenlet import greenletdef test1(): print('12') gr2.switch() #切换到gr2 print('34') gr2.switch()def test2(): print('56') gr1.switch() print('78')gr 阅读全文
摘要:
协程是一种轻量级的线程 无需线程上下级的开销, 所有的协程都在一个线程内执行 阅读全文
摘要:
进程池用于进程维护, 当使用时,将会去进程池取数据 阅读全文
摘要:
进程锁,用来防止在屏幕输出时出现错误 在用于子进程的使用时,主进程将进程锁传递给子进程 1.Lock() 阅读全文
摘要:
进程Queue,实现进程传输的队列 1.Queue 阅读全文
摘要:
1.创建多个进程 multirocesing2.输出当前的 进程PID3.进程Queue 实现进程之间的通讯4.管道pip 实现进程之间的通讯5.进程之间列表和字典的传递, 通过manage.dict(), manage.list() 生成的字典和列表6.lock 在进程中加入锁,防止输出时出现错乱 阅读全文
摘要:
进程是资源的集合,每个进程至少包含一个线程 import multiprocessing #导入进程模块import time, threading #导入线程def thread_run(): print(threading.get_ident())def run(name): time.slee 阅读全文