多线程并发抓取

from threading import Thread
from queue import Queue
from time import sleep
q = Queue()# q是任务队列
NUM = 2#NUM是并发线程总数
JOBS = 10#JOBS是有多少任务
#具体的处理函数,负责处理单个任务
def do_somthing_using(arguments):
    print(arguments)
#这个是工作进程,负责不断从队列取数据并处理
def working():
    while True:
        arguments = q.get()
        do_somthing_using(arguments)
        sleep(1)
        q.task_done()
#fork NUM个线程等待队列
for i in range(NUM):
    t = Thread(target=working)
    t.setDaemon(True)
    t.start()
#把JOBS排入队列
for i in range(JOBS):
    q.put(i)
#等待所有JOBS完成
q.join()

猜你喜欢

转载自blog.csdn.net/u013440574/article/details/81906454
今日推荐