并发编程
时间:2019-06-16
本文章向大家介绍并发编程,主要包括并发编程使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
进程
线程
协程
#不使用greenlet实现切换任务
import time
def work1():
while 1:
print('----work1----')
yield
time.sleep(0.4)
def work2():
while 1:
print('----work2----')
yield
time.sleep(0.4)
def main():
w1=work1()
w2=work2()
while 1:
next(w1)
next(w2)
if __name__ == '__main__':
main()
# 使用greenlet模块实现切换任务
from greenlet import greenlet
import time
def work1():
while 1:
print('---A-----')
gr2.switch()
time.sleep(0.5)
def work2():
while 1:
print('---B-----')
gr1.switch()
time.sleep(0.5)
gr1=greenlet(work1)
gr2=greenlet(work2)
gr1.switch()
# gevent的使用
import gevent
def foo():
print('running in foo')
gevent.sleep(2)
print('come back from bar in to foo')
def bar():
print('running in bar')
gevent.sleep(2)
print('come back from foo in to bar')
gevent.joinall([
gevent.spawn(foo),
gevent.spawn(bar),
])
原文地址:https://www.cnblogs.com/djfboai/p/11037294.html
- 看到他我一下子就悟了-- 泛型(2)
- ExtJS4中设置tabpanel的tab高度问题
- Oracle写错误与文件离线
- 看到他我一下子就悟了-- 泛型(1)
- EXTJS4 Grid Filter 插件的使用 与后台数据解析------Extjs 查询筛选功能的实现
- [Java]读取文件方法大全
- WPF Application 类介绍以及怎样修改启动方式
- C#基础知识回顾-- 反射(4)
- C#基础知识回顾-- 反射(3)
- 微信图文消息添加音乐一招搞定 只需修改背景音乐地址
- C#基础知识回顾-- 反射(2)
- MongoDB 主从配置
- Java 处理 Json 实例
- C#基础知识回顾-- 反射(1)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 数据挖掘从入门到放弃:线性回归和逻辑回归
- 【Flutter 实战】文件系统目录
- 【原创】Spring Boot终极篇《上》
- 【原创】Spring Boot终极篇《下》
- 面试官:JDK、JRE、JVM 三者什么关系?
- 面试官:什么是面向对象?
- 详解SpringCloud中RabbitMQ消息队列原理及配置,一篇就够!
- 面试官:什么是字节码?它最大的优势是什么?
- 数组转List,一定要小心这个坑!
- 【小白学PyTorch】5.torchvision预训练模型与数据集全览
- 实战 | Python爬取B站柯南弹幕+Gephi梳理主线剧情
- Docker 部署SpringBoot项目不香吗?
- 面试官写了个双冒号::问我这是什么语法?Java中有这玩意?
- 精解四大集合框架:List核心知识总结
- 【深度学习】Keras vs PyTorch vs Caffe:CNN实现对比