在PYTHON3中,使用Asyncio来管理Event loop

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import asyncio
import datetime
import time

def function_1(end_time, loop):
    print("function_1 called")
    if (loop.time() + 1.0) < end_time:
        loop.call_later(1, function_2, end_time, loop)
    else:
        loop.stop()

def function_2(end_time, loop):
    print("function_2 called")
    if (loop.time() + 1.0) < end_time:
        loop.call_later(1, function_3, end_time, loop)
    else:
        loop.stop()

def function_3(end_time, loop):
    print("function_3 called")
    if (loop.time() + 1.0) < end_time:
        loop.call_later(1, function_1, end_time, loop)
    else:
        loop.stop()

def function_4(end_time, loop):
    print("function_4 called")
    if (loop.time() + 1.0) < end_time:
        loop.call_later(1, function_4, end_time, loop)
    else:
        loop.stop()

loop = asyncio.get_event_loop()

end_loop = loop.time() + 9.0
loop.call_soon(function_1, end_loop, loop)
# loop.call_soon(function_4, end_loop, loop)

loop.run_forever()
loop.close()

时间: 2024-10-29 18:35:09

在PYTHON3中,使用Asyncio来管理Event loop的相关文章

在Python3中使用asyncio库进行快速数据抓取的教程_python

web数据抓取是一个经常在python的讨论中出现的主题.有很多方法可以用来进行web数据抓取,然而其中好像并没有一个最好的办法.有一些如scrapy这样十分成熟的框架,更多的则是像mechanize这样的轻量级库.DIY自己的解决方案同样十分流行:你可以使用requests.beautifulsoup或者pyquery来实现. 方法如此多样的原因在于,数据"抓取"实际上包括很多问题:你不需要使用相同的工具从成千上万的页面中抓取数据,同时使一些Web工作流自动化(例如填一些表单然后取回

python3中内建函数与工厂函数的关系

问题描述 python3中内建函数与工厂函数的关系 python核心编程书中提到,由于类型与类的整合,一些内建函数变为了工厂函数,两者的关系是什么 解决方案 被重新封装了通过工厂函数来创建类的实例化,可以方便修改,对外函数不变,内部由于变化不影响使用 明显的例子: Timer 定时器的工厂函数def Timer(*args **kwargs):""Factory function to create a Timer object. Timers call a function afte

谈谈Silverlight 2中的视觉状态管理 Part2

概述 在WPF和Silverlight中的控件模板支持自定义控件的观感,所谓的外观,指控件的视觉效果:而感觉 则是控件交互的响应性,如在控件上按下鼠标.控件获得焦点等状态的改变.微软在Silverlight 2 Beta 2中引进了一个新的概念视觉状态管理(Visual State Manager),为我们创建交互性的控件模板提供了 极大的方便.接下来我将会用几篇文章来介绍一下Silverlight 2中的视觉状态管理. 本文为该系列第二篇,介绍如何利用Silverlight 2中的视觉状态管理

谈谈Silverlight 2中的视觉状态管理 Part1

概述 在WPF和Silverlight中的控件模板支持自定义控件的观感,所谓的外观,指控件的视觉效果:而感觉 则是控件交互的响应性,如在控件上按下鼠标.控件获得焦点等状态的改变.微软在Silverlight 2 Beta 2中引进了一个新的概念视觉状态管理(Visual State Manager),为我们创建交互性的控件模板提供了 极大的方便.接下来我将会用几篇文章来介绍一下Silverlight 2中的视觉状态管理. 在定义控件时,我们需要严格区分控件的视觉效果和控件的逻辑,这样当我们修改控

Windows7中利用库来管理文件

在Windows7 操作系统中,提供了另外一种全新的文件管理方式即通过库来管理文件.如下图,就是库 管理界面的一个截图. 插图:Windows7中利用库来管理文件 这是Windows7操作系统中新推出的一个有效的文件管理模式.其看起来来跟文件夹比较相似.但是又 有很大的不同.笔者在这篇文章中,就对这个库文件管理方式做一个比较深层次的分析与测试,帮助大家 了解这个新功能. 一.跟普通文件夹的异同. 从上面的界面中,我们可以看到库好像跟传统的文件夹比较相像.确实,从某个角度来讲,库跟文件 夹确实有很

Java开发平台中的生命周期管理

对象的生命周期没有大家想的那么复杂.其实其就是回答了两个简单的问题.什么时候需要创建对象? 什么时候把对象消亡?这两个问题解决了,那么对象的生命周期问题也就解决了. 一.传统的对象生命周期管理方法. 为了对Java开发平台中的生命周期管理方法有一个更加深刻的理解,笔者认为大家需要对传统的生命 周期管理方法先有一个了解.因为这有助于大家有一个相互的对比,从而会对Java语言中的生命周期管理 方法会有一个比较直观的印象. 在传统的编程语言中,如C语言,其考虑对象的生命周期,主要是从对象与应用程序的执

java-项目中公共jar包管理问题

问题描述 项目中公共jar包管理问题 由于项目涉及多个web工程,而所需要的spring等相关jar比较多,总不能把所有的jar包都在每个工程里面拷贝一份,高人指点! 解决方案 应该是用Maven来管理jar的依赖关系,之后再使用Jenkins来做持续集成!当然,Gradle相比Maven可能更容易上手! 解决方案二: http://497155382.blog.163.com/blog/static/1949123201391435941135/ 解决方案三: 建议使用maven来做项目构建

JavaScript Event Loop机制详解与Vue.js中nextTick的实践应用

本文依次介绍了函数调用栈.MacroTask 与 MicroTask 执行顺序.浅析 Vue.js 中 nextTick 实现等内容;本文中引用的参考资料统一声明在 JavaScript 学习与实践资料索引. 1. 事件循环机制详解与实践应用 JavaScript 是典型的单线程单并发语言,即表示在同一时间片内其只能执行单个任务或者部分代码片.换言之,我们可以认为某个同域浏览器上下中 JavaScript 主线程拥有一个函数调用栈以及一个任务队列(参考 whatwg 规范);主线程会依次执行代码

java中如何进行权限管理,不同用户在界面显示的功能也不同。

问题描述 java中如何进行权限管理,不同用户在界面显示的功能也不同. 每个用户的权限不同,超级管理员可以将权限赋予给用户,用户不能操作不具有权限的功能,求大神帮忙 解决方案 一般都会使用一些权限模型的,比如RBAC模型,对于数据库可以设计5张表,分别是用户表,角色表,许可表,用户角色关系表,角色许可关系表 解决方案二: 始终离不开,权限.角色.资源 解决方案三: rbac可以解决你的需求