![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
533_
这个作者很懒,什么都没留下…
展开
-
阻塞服务器
服务端import socketserver = socket.socket() #生成套接字对象server.bind(('0.0.0.0', 8000)) #套接字绑定ip和端口,变为监听套接字server.listen(5) #开始监听while True: conn, addr = server.accept...原创 2018-09-07 13:44:58 · 364 阅读 · 0 评论 -
非阻塞服务器
服务端import socketserver = socket.socket() #创建套接字server.setblocking(False) #把套接字设置为非阻塞server.bind(('0.0.0.0', 8001)) #绑定IP和端口server.listen(5) #监听端口all_connection...原创 2018-09-07 13:45:31 · 297 阅读 · 0 评论 -
epoll
import selectors #epoll模块import socketepoll = selectors.EpollSelector() #生成一个epollserver = socket.socket() #生成套接字server.bind(('', 8082))server.listen(100)#回调函数 用来生成对等连接套接字def create_c...原创 2018-09-07 13:45:45 · 95 阅读 · 0 评论 -
0701-协程
聊天室协程yield生产者 消费者模型聊天室serverfrom multiprocessing import Pool, cpu_count,Manager # 导入进程的manager对象from multiprocessing.pool import ThreadPoolimport socket# 从队列中拿出数据,发给所有连接上的客户端...原创 2018-09-07 13:46:24 · 145 阅读 · 0 评论 -
0601-进程池与线程池
可重复利用的线程线程池的简单实现Python自带池内置线程池内置的进程池池的操作使用池来实现并发服务器使用线程池来实现并发服务器使用进程池来实现并发服务器使用进程池+线程池来实现并发服务器作业:实现一个基于多进程与多进程的并发服务器。可重复利用的线程from threading import Threadfrom queue impor...原创 2018-09-07 13:46:41 · 172 阅读 · 0 评论 -
0501-并发通信
独立的进程内存空间进程是独立的,互不干扰的独立内存空间进程间通信的解决方案共享的服务器进程空间Manger对象的基本使用Windows下python3的解释器线程间共享的全局变量线程间全局变量的共享共享内存间存在竞争问题同步锁的基本概念线程与进程安全的队列队列的基本概念线程安全队列操作 queue.Queue进程安全队列操作 mgr.Queue...原创 2018-09-07 13:46:54 · 306 阅读 · 0 评论 -
0401-进程与线程的补充
进程与线程的标识进程pid线程ident进程名线程名当前进程当前线程进程与线程的其余相关操作中止进程 terminate主进程等待子进程结束 join主线程等待子线程结束 join进程与线程的生存与状态守护模式 daemon=True守护进程守护线程僵尸进程孤儿进程以面向对象的形式使用进程与线程面向对象化使用进程面向对象化使用线程作业...原创 2018-09-07 13:47:11 · 140 阅读 · 0 评论 -
0301-认识进程与线程
多进程实现并发多线程实现并发GIL锁使用多进程与多线程来实现并发服务器在Python中直接执行耗时函数import datetimeimport timeprint('mainprocess start time: ',datetime.datetime.now())def func(): print('subprocess start time:...原创 2018-09-07 13:47:36 · 113 阅读 · 0 评论