python实例 盖房子种树记好时间,python实例,[Python]代码#!
python实例 盖房子种树记好时间,python实例,[Python]代码#!
[Python]代码
#!/usr/bin/env python # -*- coding: utf-8 -*- # Last Update: __revision__ = '0.1' __author__ = 'lxd' import threading import time class TimeWorks(object): def __init__(self): self.wait_works = {}#等待工作列表,包括工作的所有细节 self.wait_times_threads = []#线程列表 def setTime(self, data, seconds): """将data放入等待工作列表中,并将工作放入线程中等待 """ def sleep(seconds): time.sleep(seconds) atime = threading.Thread(target = sleep, args = (seconds, )) atime.setDaemon(True) atime.start() self.wait_times_threads.append(atime) self.wait_works.update({atime.name:data}) def checkTimeThread(self): """获得时间已到的工作 """ for atime in self.wait_times_threads: if not atime.isAlive(): self.wait_times_threads.remove(atime) return self.wait_works.pop(atime.name) if __name__ == '__main__': print 'start' timeWorks = TimeWorks() build = {'kind':'build', 'name':'build1', 'pos':(1, 2)} timeWorks.setTime(build, 5) farm = {'kind':'farm', 'name':'tom', 'pos':(3, 5)} timeWorks.setTime(farm, 3) def build_something(data): print 'build_something', str(data) def farm_something(data): print 'farm_something', str(data) i = 0 while True: print 'do_something', i i += 1 time.sleep(1) data = timeWorks.checkTimeThread() if data: if data['kind'] == 'build': build_something(data) elif data['kind'] == 'farm': farm_something(data)
相关内容
- python输出各位有效数字|global变量,pythonglobal,[Python]代码
- python通过socket查询whois脚本,pythonwhois,import socke
- 约瑟夫环问题,约瑟夫环,有 个囚犯站成一个 圆
- 编写.ini文件,编写.ini,from ConfigP
- 简单的批量下载工具,简单批量下载工具,Read URLs li
- 求最大最小最大值因数,最大值因数,Python语言: 求最
- 比较一个文件夹比另一同名文件夹多出哪些文件,并复
- 一个用Python给Vim做的插件,PythonVim做插件,[Python]代码
- 人人网相册下载,人人网相册,RRAD.py# cod
- python生成随机mac地址,python生成mac,#!/usr/bin/p
评论关闭