python 函数中开启线程

python 函数中开启线程,每次进入函数开启一次线程,线程里面根据传递的参数处理

 #!/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();