协程
时间:2019-09-19
本文章向大家介绍协程,主要包括协程使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
协程
- 一个线程下单位
- 协程是程序员自己编制出来的,是不被操作系统所承认的,不受操作系统的控制,需要我们调用模块去实现协程
- 他是处理线程的io时可以使用协程,加快运行速度,因为GIL锁的存在,所以我们使用到线程去运行代码时,其实就是处理io密集型的代码,这个时候如果一个线程下面,有多个io,那么如果我们不去处理,他是会按照串行的方式去运行代码的,那样很耗费时间,我们协程就是把下面的io密集型的代码,改变成并发的模式去运行,节省时间,加快运行速度
- 协程之后在io密集型下才有意义
from gevent import monkey;monkey.patch_all()
import gevent
import time
def foo():
print(1)
time.sleep(3)
print(2)
def foo1():
print(3)
time.sleep(3)
print(4)
start = time.time()
g1 = gevent.spawn(foo)
g2 = gevent.spawn(foo1)
g1.join()
g2.join()
end = time.time()
print(end-start)
# 代码运行结果
1
3
2
4
3.0039689540863037
原文地址:https://www.cnblogs.com/xiongchao0823/p/11552491.html
- Windows Server 2008 与 .NET Framework 的版本之间有什么关系
- asp.net mvc相关开源项目推荐
- Android监听来电和去电
- PostCSS 插件postcss-lazyimagecss:自动填写width / height 属性
- Angularjs基础(十)
- Mac 中JetBrain 系列IDE 的配置文件同步(通过Dropbox)
- 面向服务架构(SOA)和企业服务总线(ESB)
- UPS宣布加入货运区块链联盟 价值万亿的物流行业未来将无纸化?
- Android中动态更新ListView
- 关于机器学习,这可能是目前最全面最无痛的入门路径和资源!
- 并行计算Brahma :LINQ-to-GPU
- 实例演示Android异步加载图片
- Eclipse快捷键大全
- Entity Framework 和NHibernate的区别
- 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 数组属性和方法
- redis学习(十三)
- 【SpringBoot web-3】web项目统一数据封装与全局异常处理
- 送你 8 张图,好好理解一下。
- 【前端系列-1】ajax与Springboot通信将数据库数据渲染到前端表格
- 【前端系列-2】layui+springboot实现表格增删改查
- 容器技术|Docker三剑客之docker-swarm
- 【前端系列-3】layui表格使用自定义模板templet
- 【前端系列-4】layui表格集成select选择框和switch开关
- 使用docker Registry快速搭建私有镜像仓库(内附干货)
- 【前端系列-5】layui-from swtich使用小结
- Python解析变长结构体
- 如何优雅地在JS中使用枚举定义
- 【Java基础-1】 Java8新特性Stream详解
- 【Java基础-2】构造函数与构造代码块
- 【Java基础-3】数据结构之JSON浅析