进行程序开发的时候,肯定避免不了要处理并发的情况,一般使用多线程实现并发。
python实现多线程编程需要借助于threading模块。
Thread
threading 模块中最核心的内容是 Thread 这个类。
程序运行时默认就是在主线程上,创建 Thread 对象,然后让它们运行,每个 Thread 对象代表一个线程,在每个线程中我们可以让程序处理不同的任务,这就是多线程编程。
创建Thread对象
class threading.Thread(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None)
- target: 传一个回调函数对象
- 如果回调函数对象需要传递参数的话,args 是固定参数,kwargs 是可变参数
import threading
import time
def test():
for i in range(5):
print('test ',i)
time.sleep(1)
thread = threading.Thread(target=test)
启动Thread 对象
thread.start()
主线程加一个线程整体代码运行
import threading
import time
def test():
for i in range(5):
print('test ',i)
time.sleep(1)
thread = threading.Thread(target=test)
thread.start()
for i in range(5):
print('main ', i)
time.sleep(1)
上面代码很简单,在主线程上打印 5 次,在一个子线程上打印 5 次。
运行结果如下: