python threading超线程使

2023-01-31 01:01:47 python 超线程 threading

在工作过程中中,将内容过程中经常用的内容片段珍藏起来,下面内容段是关于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.

相关文章