Python爬虫编程思想(136):多线程和多进程爬虫--Thread类与线程函数

Posted 蒙娜丽宁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫编程思想(136):多线程和多进程爬虫--Thread类与线程函数相关的知识,希望对你有一定的参考价值。

        在前面的文章中使用锁(Lock)检测线程是否释放,以及使用锁可以保证所有的线程函数都执行完毕再往下执行。如果使用Thread类处理线程就方便得多了,可以直接使用Thread对象的join方法等待线程函数执行完毕再往下执行,也就是说,在主线程(main函数)中调用Thread对象的join方法,并且Thread对象的线程函数没有执行完毕,主线程会处于阻塞状态。

        使用Thread类也很简单,首先需要创建Thread类的实例,通过Thread类构造方法的target关键字参数执行线程函数,通过args关键字参数指定传给线程函数的参数。然后调用Thread对象的start方法启动线程。

        下面的例子使用Thread对象启动了2个线程,并在各自的线程函数中使用sleep函数休眠一段时间。最后使用Thread对象的join方法等待2个线程函数都执行完毕后再退出程序。

import threading
from time import sleep, ctime
# 线程函数,index表示整数类型的索引,sec表示休眠时间,单位:秒
def fun(index, sec):
print(\'开始执行\', index, \' 时间:\', ctime())
# 休眠sec秒
    sle

以上是关于Python爬虫编程思想(136):多线程和多进程爬虫--Thread类与线程函数的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫编程思想(135):多线程和多进程爬虫--Python与线程

Python爬虫编程思想(135):多线程和多进程爬虫--Python与线程

Python爬虫编程思想(142):多线程和多进程爬虫--多进程

Python爬虫编程思想(142):多线程和多进程爬虫--多进程

Python爬虫编程思想(134):多线程和多进程爬虫--线程与进程详解

Python爬虫编程思想(134):多线程和多进程爬虫--线程与进程详解