会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
beallaliu
博客园
首页
新随笔
联系
管理
订阅
上一页
1
···
9
10
11
12
13
14
15
16
17
下一页
2018年6月18日
5.1.26 IO模型
摘要: 一、 阻塞IO(blocking IO) 遇到IO就阻塞 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: blocking IO的特点就是在IO执行的两个阶段(等待数据和拷贝数据两个阶段)都被block了。 服务器端: from socket im
阅读全文
posted @ 2018-06-18 10:22 beallaliu
阅读(112)
评论(0)
推荐(0)
2018年6月17日
5.1.25 协程
摘要: 协程:单线程下的并发。又称微线程。是用户态的轻量级线程,即协程是由用户程序自己控制调度的 要遇到IO才切。 比线程开销更小。 修改共享数据不用加锁 yield greenlet都无法做到遇到IO就切换 gevent 可以监控多个任务之间的IO,遇到IO切换到另一个任务。 yield: Greenle
阅读全文
posted @ 2018-06-17 15:02 beallaliu
阅读(106)
评论(0)
推荐(0)
5.1.24 Python之列表生成式、生成器、可迭代对象与迭代器
摘要: 本节内容 语法糖的概念 列表生成式 生成器(Generator) 可迭代对象(Iterable) 迭代器(Iterator) Iterable、Iterator与Generator之间的关系 一、语法糖的概念 “语法糖”,从字面上看应该是一种语法。“糖”,可以理解为简单、简洁。其实我们也已经意识到,
阅读全文
posted @ 2018-06-17 14:37 beallaliu
阅读(184)
评论(0)
推荐(0)
5.1.24 线程池/进程池实现网络并发
摘要: 服务端:
阅读全文
posted @ 2018-06-17 14:18 beallaliu
阅读(121)
评论(0)
推荐(0)
5.1.23 异步调用与回调机制
摘要: 提交任务的两种方式#1、同步调用:提交完任务后,就在原地等待任务执行完毕,拿到结果,再执行下一行代码,导致程序是串行执行 #2、异步调用:提交完任务后,不在原地等待任务执行完毕 同步调用: 运行结果: eggon 正在拉。。。。 eggon 拉了 5 kg! alex 正在拉。。。。 eggon 拉
阅读全文
posted @ 2018-06-17 11:49 beallaliu
阅读(186)
评论(0)
推荐(0)
5.1.22 多线程实现并发
摘要: 服务器端: 客户端: 该种实现有什么弊端吗? 如果有10万个客户端,就得开10万个线程?单台服务器支撑得了不? 进程池或线程池实现并发: 运行结果: 0 pool__0 1 pool__1 2 pool__2 主线程。。。。。 3 pool__0 4 pool__1 5 pool__2 6 pool
阅读全文
posted @ 2018-06-17 11:10 beallaliu
阅读(160)
评论(0)
推荐(0)
5.1.21 线程队列queue
摘要: 回顾: 进程队列: from multiprocessing import Queue q = Queue(3) #先进先出,3是队列深度。 线程队列: import queue 先进先出 运行结果: 3 [1, 2, 3, 6] {'a': 1} 后进先出: 运行结果: {'a': 1} [1,
阅读全文
posted @ 2018-06-17 09:51 beallaliu
阅读(148)
评论(0)
推荐(0)
5.1.20 定时器
摘要: 多少时间之后,触发什么事件 运行结果: %s xxxxxx %s xxxxxx %s xxxxxx %s xxxxxx %s xxxxxx # 每5秒执行一次 运行结果:
阅读全文
posted @ 2018-06-17 09:11 beallaliu
阅读(116)
评论(0)
推荐(0)
5.1.19 Event事件--线程之间的交互
摘要: event=Event() event.isSet() # 返回event的状态值 True False event.wait() #等待其他线程发出event.set()后才继续往下执行 event.isSet() == False 将阻塞线程 event.wait(3) #如果超过3秒,即使没有
阅读全文
posted @ 2018-06-17 08:54 beallaliu
阅读(344)
评论(0)
推荐(0)
2018年6月16日
5.1.18 信号量
摘要: 互斥锁和排斥锁 同一时间只能有一个线程处理同一段代码。比如,只有一个坑的卫生间 信号量:同时最多可以有N个线程同时处理同一段代码。 比如有3个坑的卫生间,最多可以有三个人同时使用。 运行结果: 线程0 正在占坑。。。 线程1 正在占坑。。。 线程2 正在占坑。。。 线程3 正在占坑。。。 线程5 正
阅读全文
posted @ 2018-06-16 23:24 beallaliu
阅读(139)
评论(0)
推荐(0)
上一页
1
···
9
10
11
12
13
14
15
16
17
下一页
公告