关于Python超时器的设想
2016-05-30 00:00
197 查看
摘要: 由于在我工作的原有框架环境下,出现过了一个问题,在非游戏进行状态时,超时器会失效,如果要改环境中的超时器设置,显然是不合理的,故尝试从Python自有的技术和类库中寻找达到。在多方尝试中选择使用Threading的类库,似乎可以解决这个问题。
线程解释:线程(thread, 台湾称“执行绪”)是“进程”中某个单一顺序的控制流。也被称为轻量进程(lightweight processes)。线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程。要弄清楚线程,须结合进程加以理解:进程是一个可执行的程序,由私有虚拟地址空间、代码、数据和其他操作系统资源(如进程创建的文件、管道、同步对象等)组成。一个应用程序可以有一个或多个进程,一个进程可以有一个或多个线程,其中一个是主线程。线程是操作系统分时调度分配CPU时间的基本实体。一个线程可以执行程序的任意部分的代码,即使这部分代码被另一个线程并发地执行;一个进程的所有线程共享它的虚拟地址空间、全局变量和操作系统资源。之所以有线程这个概念,是因为以线程而不是进程为调度对象效率更高:由于创建新进程必须加载代码,而线程要执行的代码已经被映射到进程的地址空间,所以创建、执行线程的速度比进程更快。一个进程的所有线程共享进程的地址空间和全局变量,所以简化了线程之间的通讯。
详细的解释教程请参考百度百科,搜索关键字“线程”即可。
好了,废话少说,直接上代码:
1.导入threading模块(import threading)
2. def func():
pass
说明:定义一个在超时结束后需要调用的函数func()
3.调用threading.Timer(sec,func)
TimerMgr = threading.Timer(sec,func)
说明:此函数的功能是在制定sec秒后调用func函数
4.启动这个计时器
TimerMgr.start()
说明:开始计时器计时
5.func函数执行完后,需要关闭这个计时器
TimerMsg.cancel()
OK!一个计时器就完成了,是不是很简单,看起来简单,要是能用好,可不简单奥。满招损,谦受益!
经验教训:在频繁的调用Timer函数时,会出现一些预想不到的效果,造成计时器不准备,所以需要在每次使用完func函数后添加cancel()函数,将计时器撤销。
线程解释:线程(thread, 台湾称“执行绪”)是“进程”中某个单一顺序的控制流。也被称为轻量进程(lightweight processes)。线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程。要弄清楚线程,须结合进程加以理解:进程是一个可执行的程序,由私有虚拟地址空间、代码、数据和其他操作系统资源(如进程创建的文件、管道、同步对象等)组成。一个应用程序可以有一个或多个进程,一个进程可以有一个或多个线程,其中一个是主线程。线程是操作系统分时调度分配CPU时间的基本实体。一个线程可以执行程序的任意部分的代码,即使这部分代码被另一个线程并发地执行;一个进程的所有线程共享它的虚拟地址空间、全局变量和操作系统资源。之所以有线程这个概念,是因为以线程而不是进程为调度对象效率更高:由于创建新进程必须加载代码,而线程要执行的代码已经被映射到进程的地址空间,所以创建、执行线程的速度比进程更快。一个进程的所有线程共享进程的地址空间和全局变量,所以简化了线程之间的通讯。
详细的解释教程请参考百度百科,搜索关键字“线程”即可。
好了,废话少说,直接上代码:
1.导入threading模块(import threading)
2. def func():
pass
说明:定义一个在超时结束后需要调用的函数func()
3.调用threading.Timer(sec,func)
TimerMgr = threading.Timer(sec,func)
说明:此函数的功能是在制定sec秒后调用func函数
4.启动这个计时器
TimerMgr.start()
说明:开始计时器计时
5.func函数执行完后,需要关闭这个计时器
TimerMsg.cancel()
OK!一个计时器就完成了,是不是很简单,看起来简单,要是能用好,可不简单奥。满招损,谦受益!
经验教训:在频繁的调用Timer函数时,会出现一些预想不到的效果,造成计时器不准备,所以需要在每次使用完func函数后添加cancel()函数,将计时器撤销。
相关文章推荐
- Python程序接入Json文件(一)
- Python程序接入Json文件(二)
- python 安装easy_install和pip
- python 命令行解析
- python 爬虫
- 怎么判断百度网盘分享连接已经失效?有那么简单吗?
- python字典的学习1
- python中的迭代
- python元组学习
- python challenge 7-12关 攻略
- Python: ImportError: cannot import name __check_buil
- python切片练习
- [Python笔记]第十篇:模块续
- 汉诺塔python
- 《Python数据分析常用手册》一、NumPy和Pandas篇
- Python类属性或实例属性的类型限制
- python读excel
- Python绿色版
- K-近邻算法
- python读取文件 求更简单、健壮代码