3-python-socket
2016-12-01 10:14:36 11 举报
AI智能生成
3-python-socket
作者其他创作
大纲/内容
算法分析
socketserver
内部实现了多线程
socket -- TCP/IP 封装
最常见的 application
server
srv_sock = socket.socket()
srv_sock.bind(ip_port_tuple)
srv_sock.listen(5)
srv_sock.getsockname() 获取自己sock的名字
client
cli_sock = socket.socket()
cli_sock.connect(ip_port_tuple)
cli_sock.send(bytes)
cli_sock.recv(bytes)
常见问题
粘包问题
断电续传
完整验证 md5
作用域的问题
全局变量
全局可读
如果要写 加 globals 关键字 dict list 等除外
作用域链, 就近一致原则
块级作用域
python js 都没有块级作用于
python js 有函数级作用于
时间
作用于在函数执行之前就确定了
实现并发
IO多路复用
select
轮询 1024限制
poll
轮询 无限制
epoll
消息机制
多
多进程
相对独立的process
适合计算消耗型应用
常规使用
from multiporcessing import Process
进程池 自带
from multiprocessing imort Pool
pool.apply()
pool.apply_async()
pool.start()
pool.close() pool.terminate()
pool.join()
进程锁
Lock Rlock
锁代码块,同时仅允许一个process execute
semaphore
锁代码块,同时仅允许多个process execute
event
红绿灯
condition
代码块, 条件满足就允许多个 process execute
数据共享
from multiprocessing import queue
from multiprocessing imort Manager
多线程
部分资源共享,较小的开销
适合IO消耗型应用
线程池
需要自己实现
线程锁
和进程锁一样
本来就是共享的,直接使用即可
协程
专门处理io的,使用轮训的方式达到多线程的效果
自由主题
0 条评论
回复 删除
下一页