python延时程序不能用_如何在Python中进行时间延迟?
How can I make a time delay in Python?>>> from time import sleep
>>> sleep(4)
这个函数实际上暂停了操作系统调用它的线程的处理,允许其他线程和进程在它休眠时执行。
为此目的使用它,或者只是延迟函数的执行。例如:>>> def party_time():
... print('hooray!')
...
>>> sleep(3); party_time()
hooray!
“万岁!”在我按下回车键3秒后打印。
对多个线程和进程使用sleep的示例
同样,sleep挂起您的线程-它几乎使用零处理能力。
要演示,请创建这样的脚本(我首先在交互式Python 3.5shell中尝试了此操作,但子进程由于某些原因找不到party_later函数):from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor, as_completed
from time import sleep, time
def party_later(kind='', n=''):
sleep(3)
return kind + n + ' party time!: ' + __name__
def main():
with ProcessPoolExecutor() as proc_executor:
with ThreadPoolExecutor() as thread_executor:
start_time = time()
proc_future1 = proc_executor.submit(party_later, kind='proc', n='1')
proc_future2 = proc_executor.submit(party_later, kind='proc', n='2')
thread_future1 = thread_executor.submit(party_later, kind='thread', n='1')
thread_future2 = thread_executor.submit(party_later, kind='thread', n='2')
for f in as_completed([
proc_future1, proc_future2, thread_future1, thread_future2,]):
print(f.result())
end_time = time()
print('total time to execute four 3-sec functions:', end_time - start_time)
if __name__ == '__main__':
main()
此脚本的输出示例:thread1 party time!: __main__
thread2 party time!: __main__
proc1 party time!: __mp_main__
proc2 party time!: __mp_main__
total time to execute four 3-sec functions: 3.4519670009613037
多线程
您可以使用Timerthreading对象触发稍后在单独线程中调用的函数:>>> from threading import Timer
>>> t = Timer(3, party_time, args=None, kwargs=None)
>>> t.start()
>>>
>>> hooray!
>>>
空行显示了打印到标准输出的函数,我必须按回车以确保出现提示。
这种方法的优点是,当Timer线程在等待时,我可以做其他事情,在本例中,在函数执行之前按一次EnterEnter。
multiprocessing library中没有相应的对象。你可以创建一个,但它可能不存在的原因。对于一个简单的计时器来说,子线程比一个全新的子进程更有意义。
python延时程序不能用_如何在Python中进行时间延迟?相关推荐
- python 参数个数 同名函数_如何在python中编写不同参数的同名方法
我在Java背景下学习Python(3.x). 我有一个python程序,我在其中创建一个personObject并将其添加到列表中.p = Person("John") list ...
- python实现随机抽取答题_如何在python中实现随机选择
这篇文章主要介绍了如何在python中实现随机选择,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 想从一个序列中随机抽取若干元素,或者想生成几个随机 ...
- python 窗口程序开发课程_从零开始学Python - 第019课:使用PyCharm开发Python应用程序...
坚持学习完前18课的小伙伴应该已经感受到了,随着我们对Python语言的认知在逐步加深,我们写的代码也越来越复杂了."工欲善其事,必先利其器",如果希望能够更快更好的写出代码,选择 ...
- python如何读取uni文件_如何在Python中通过HTTP与UniProt交谈?
我试图从UniProt获得一些结果,这是一个蛋白质数据库(细节并不重要).我正在尝试使用一种从一种ID转换为另一种ID的脚本.我能够在浏览器上手动执行此操作,但无法在 Python中执行此操作. 在h ...
- python画图修改背景颜色_如何在 Matplotlib 中更改绘图背景的实现
介绍 Matplotlib是Python中使用最广泛的数据可视化库之一.无论是简单还是复杂的可视化项目,它都是大多数人的首选库. 在本教程中,我们将研究如何在Matplotlib中更改绘图的背景. 导 ...
- python调用adb shell命令_如何在python脚本里面连续执行adb shell后面的各种命令
如何在python脚本里面连续执行adb shell后面的各种命令 adb shell "cd /data/local && mkdir tmp" adb shel ...
- python读json文件数组_如何在python中从json文件读取json对象数组
我有一个名为example.json的json文件,包含以下内容[{ "product/productId" : "XXX", "product/ti ...
- python二进制转八进制代码_如何在python中输入二进制、八进制、十进制、十六进制数据并转换...
最近在学习python,不过跟着课本的作业题目: 分别就计算二进制110110011.八进制256和十六进制的数字a4b5,并转化为十进制求和. 不过写过程中遇到了个问题: 如何在python中输入二 ...
- python怎么去掉换行符_如何在Python中删除尾部换行符?
如何在Python中删除尾部换行符? 什么是Perl的chomp函数的Python等价物,如果它是换行符,它会删除字符串的最后一个字符? 26个解决方案 1473 votes 尝试方法lstrip() ...
最新文章
- 数据库系统DBS的特点
- VSCode 小鸡汤 第00期 —— 安装和入门
- 数字图像处理:第一章 概述
- MySQL 参数文件及参数
- .NET 云原生架构师训练营(模块二 基础巩固 依赖注入)--学习笔记
- 7个相同小球4个不同盒子_【计算启蒙】4个游戏陪娃玩懂“数拆分”,加减法都不用愁!...
- 安全专家教你如何利用Uber系统漏洞无限制的免费乘坐?
- Eclipse中的codetemplates.xml
- linux下挂载samba服务器,Linux使用mount挂载samba共享
- 带你一文看懂MySqL中的事务与索引
- cell数组变为字符串_cell转字符串
- rollup函数(分组后对每组数据分别合计)
- Flink 实战问题(五):The transaction timeout is larger than the maximum value allowed by the broker
- java8新特性之---全新的日期、时间API(JSR 310规范),附SpringMVC、Mybatis中使用JSR310的正确姿势
- LXR和 SourceInsight
- mldonkey 安装详细过程
- Win10 IoT C#开发 2 - GPIO Pin 控制发光二极管
- C++/Python PAT乙级1051 复数乘法 (15分)
- 3d打印技术与计算机,讲述3D打印技术是如何实现打印的,与普通的打印有何不同...
- java中enhancer试什么_Java Enhancer類代碼示例