Python多线程

线程

线程(英语:thread)是操作系统能够进行运算调度的最小单位(百度百科)。一个进程(一个app,一个软件或一个微信)里面至少有一个线程。

C、Java等都有线程的概念,Python也不列外,Python的线程是真正的Posix Thread,而不是模拟出来的线程。

在python中有两个标准线程模块_threadthreading。_thread属于是低级一点的(api比较简陋),threading是在_thread的基础上在此封装,使用起来更加方便。通常我们都使用threading

基本使用

import time, threading

# 线程执行的目标代码
def func():
    print('thread %s is start...' % threading.current_thread().name)
    n = 0
    while n < 3:
        n = n + 1
        print('thread %s >>> %s' % (threading.current_thread().name, n))
        time.sleep(1)
    print('thread %s stop.' % threading.current_thread().name)

print('thread %s is start...' % threading.current_thread().name)

#创建一个线程
t = threading.Thread(target=func, name='MyThread')
t.start() #启动线程
t.join() # 等待,如果没有这句话主线程可能继续执行,然后进程就退出了,我们创建的线程就 无法运行。
print('thread %s stop.' % threading.current_thread().name)

运行结果

thread MainThread is start...
thread MyThread is start...
thread MyThread >>> 1
thread MyThread >>> 2
thread MyThread >>> 3
thread MyThread stop.
thread MainThread stop.

其中我们自己创建了一个线程t = threading.Thread(target=func, name='MyThread') 代码运行时候系统自动启动了一个MainThread.

声明:原创文章,版权所有,转载请注明出处,https://litets.com。