- python中多线程的库为threading
- threading.Thread()
- target参数传入需要进行多线程的方法
- args参数传入方法所需要的参数
- 方法实现后不会立即启动线程,需要调用start()方法才能启动线程
- join()方法可以加入到主线程
import threading
import time
from threading import current_thread
def my_thread(arg1, arg2):
print(current_thread().getName(), 'start')
print('%s %s' % (arg1, arg2))
time.sleep(1)
print(current_thread().getName(), 'stop')
for i in range(1, 6, 1):
t1 = threading.Thread(target=my_thread, args=(i, i + 1))
t1.start()
print(current_thread().getName(), 'end')
- queue.Queue(),先进先出
global表示申明全局变量,一般在函数内部申明
- queue.Queue(5)表示队列的长度为5,表示只能容纳5个队列
- put(元素)表示添加一个元素到队列
- get()从队列中取出一个元素
- join()阻塞调用线程,知道队列中的所有任务被处理掉
- empty()返回True表示为空,返回False表示不为空
- full()返回Ture表示满了,返回False表示没满
- qsize()返回队列里元素个数
- task_done()在完成一项任务后,向任务已经完成的队列发送一个信号