python 函数中开启线程,每次进入函数开启一次线程,线程里面根据传递的参数处理
1条回答 默认 最新
- oyljerry 2017-06-09 05:44关注
#!/usr/bin/python # -*-coding:utf-8 -*- import sys; import os; import time; import threading; class MTimerClass(threading.Thread): # cookie监控时钟 def __init__(self,fn,args=(),sleep=1): threading.Thread.__init__(self) self.fn = fn self.args = args self.sleep = sleep self.setDaemon(True) self.isPlay = True #当前是否运行 self.fnPlay = False #当前已经完成运行 self.thread_stop=False; def SetSleep(self,sleep): # 重新设置 时间间隔 self.sleep=sleep; def __do(self): self.fnPlay = True; apply(self.fn,self.args); self.fnPlay = False def run(self): while self.isPlay : if self.thread_stop==True: break; #if SubCommon.ifexeStop==True: #可以外部调用 来关掉线程。 # print 'thread break' # break; #print self.sleep; time.sleep(self.sleep) self.__do(); def stop(self): #stop the loop self.thread_stop = True; self.isPlay = False; while True: if not self.fnPlay : break time.sleep(0.01) def GetSearchinfo(): print 'hhhhh...'; # to do pass; def main(): tCheck=MTimerClass(GetSearchinfo, '', 60); tCheck.setDaemon(True); # 随主线程一起结果 tCheck.start(); #线程启动 if __name__== "__main__": main();
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 6无用 23
悬赏问题
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿
- ¥15 回答4f系统的像差计算