python threading超线程使

发布时间:2019-07-23 09:41:52编辑:auto阅读(1314)

    在工作过程中中,将内容过程中经常用的内容片段珍藏起来,下面内容段是关于python threading超线程使用简单范例的内容,希望能对小伙伴们有较大帮助。

    # encoding: UTF-8
    import threading
    
    # 方法1:将要执行的方法作为参数传给Thread的构造方法
    def func():
        print 'func() passed to Thread'
    
    t = threading.Thread(target=func)
    t.start()
    
    # 方法2:从Thread继承,并重写run()
    class MyThread(threading.Thread):
        def run(self):
            print 'MyThread extended from Thread'
    
    t = MyThread()
    t.start()
    
    构造方法:Thread(group=None,target=None,name=None,args=(),kwargs={})group:线程组,目前还没有实现,库引用中提示必须是None;target:要执行的方法;name:线程名;args/kwargs:要传入方法的参数。实例方法:isAlive():返回线程是否在运行。正在运行指启动后、终止前。get/setName(name):获取/设置线程名。is/setDaemon(bool):获取/设置是否守护线程。初始值从创建该线程的线程继承。当没有非守护线程仍在运行时,程序将终止。start():启动线程。join([timeout]):阻塞当前上下文环境的线程,直到调用此方法的线程终止或到达指定的timeout(可选参数)。一个使用join()的例子:
    
    # encoding: UTF-8
    import threading
    import time
    
    def context(tJoin):
        print 'in threadContext.'
        tJoin.start()
    
        # 将阻塞tContext直到threadJoin终止。
        tJoin.join()
    
        # tJoin终止后继续执行。
        print 'out threadContext.'
    
    def join():
        print 'in threadJoin.'
        time.sleep(1)
        print 'out threadJoin.'
    
    tJoin = threading.Thread(target=join)
    tContext = threading.Thread(target=context, args=(tJoin,))
    
    tContext.start()
    
    运行结果:
    
    in threadContext. 
    in threadJoin. 
    out threadJoin. 
    out threadContext.
    

关键字