《零基础学Python》--第3章 多线程编程

171 阅读1分钟
  1. python中多线程的库为threading
  2. 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')
  1. queue.Queue(),先进先出
    global表示申明全局变量,一般在函数内部申明
    • queue.Queue(5)表示队列的长度为5,表示只能容纳5个队列
    • put(元素)表示添加一个元素到队列
    • get()从队列中取出一个元素
    • join()阻塞调用线程,知道队列中的所有任务被处理掉
    • empty()返回True表示为空,返回False表示不为空
    • full()返回Ture表示满了,返回False表示没满
    • qsize()返回队列里元素个数
    • task_done()在完成一项任务后,向任务已经完成的队列发送一个信号