1.构造线程
构建新的线程有两种方法,一种是直接通过Thread方法构建一个线程,另一种时通过继承Thread类,重写run()方法构建。
Thread(group=None,target=None,name=None,args=(),kwargs={})

  • groups :线程组,这个暂时不用管,官方文档是这样说的:“group should be None”,所以我们可以不写就行。
  • target :我们要使用线程的方法
  • name :线程名
  • args/kwargs :传给方法的参数。要注意,如果只有一个参数,元组记得加个“,”,否则就会报错。

2.其他实例方法

  • setDaemon(bool) :设置守护线程,参数默认为False,如果需要设置,则设置为True,将子线程设置成守护线程后,主线程结束,无论守护线程是否执行完毕,守护线程和主线程一起停止。看一下下面这个示例就知道了。
  • 守护线程有两种设置方法,守护线程一定要在线程执行前设置,否则无效。主任务结束后,守护线程其实还没有结束,但也一起随主线程结束了。
  • start() :这个不用再多介绍了,就是启动线程
  • join(timeout) :这个就是为了防止主线程直接结束,先阻塞当前进程,直到调用这个方法的进程终止,或者达到设置的可选参数timeout时限。
  • setName(anme)/getName(name) :设置/获取线程名字
  • isAlive() :返回线程是否在运行。
  • enumerate() :返回正在运行的线程名
  • activeCount() : 返回正在运行的线程数

3.锁,可重入锁

具体方法如下:
        acquire([timeout]): 请求获得锁定。使线程进入同步阻塞状态。
        release(): 释放锁。使用前线程必须已获得锁定,否则将抛出异常。
        关于线程的锁的案例,这里给出一个简单的指令锁的示例,主要看下,锁的作用。

简单的线程代码如下:

import time
import threadingdef spider(a):print("启动任务")print(f"执行的参数为{a}")time.sleep(5)print(f"结束任务{a}")print('已经结束任务')def main():start_time = time.time()for i in range(1,5):s1 = threading.Thread(target=spider, args=(i,))s1.start()# 等待两个子线程结束再结束主线程s1.join()end_time = time.time()total_time = end_time - start_timeprint(f"所有任务结束,总耗时为:{total_time}")main()

到这里已经简单的介绍完毕。

上面内容如有侵权,请及时联系我删除。

谢谢观看!!!

Python爬虫的多线程使用方法相关推荐

  1. python爬虫之多线程、多进程+代码示例

    python爬虫之多线程.多进程 使用多进程.多线程编写爬虫的代码能有效的提高爬虫爬取目标网站的效率. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪 ...

  2. python爬虫十二种方法_Python爬虫的N种姿势

    问题的由来 前几天,在微信公众号(Python爬虫及算法)上有个人问了笔者一个问题,如何利用爬虫来实现如下的需求,需要爬取的网页如下(网址为:https://www.wikidata.org/w/in ...

  3. python多线程爬取多个网址_【Python爬虫】多线程爬取斗图网站(皮皮虾,我们上车)...

    原标题:[Python爬虫]多线程爬取斗图网站(皮皮虾,我们上车) 斗图我不怕 没有斗图库的程序猿是无助,每次在群里斗图都以惨败而告终,为了能让自己在斗图界立于不败之地,特意去网上爬取了斗图包.在这里 ...

  4. Python爬虫编程常见问题解决方法

    Python爬虫编程常见问题解决方法 参考文章: (1)Python爬虫编程常见问题解决方法 (2)https://www.cnblogs.com/xpwi/p/9604015.html (3)htt ...

  5. python爬虫中文乱码解决方法

    python爬虫中文乱码解决方法 参考文章: (1)python爬虫中文乱码解决方法 (2)https://www.cnblogs.com/surecheun/p/9694052.html 备忘一下.

  6. Python爬虫:运用多线程、IP代理模块爬取百度图片上小姐姐的图片

    Python爬虫:运用多线程.IP代理模块爬取百度图片上小姐姐的图片 1.爬取输入类型的图片数量(用于给用户提示) 使用过百度图片的读者会发现,在搜索栏上输入关键词之后,会显示出搜索的结果,小编想大多 ...

  7. python爬虫 403 Forbidden 解决方法

    python爬虫 403 Forbidden 解决方法 参考文章: (1)python爬虫 403 Forbidden 解决方法 (2)https://www.cnblogs.com/tian-sun ...

  8. python爬虫用多线程还是多进程_python爬虫之多线程、多进程爬虫

    多线程对爬虫的效率提高是非凡的,当我们使用python的多线程有几点是需要我们知道的: countdown是一个计数的方法,正常执行它,我们一般使用countdown(10),就可以达到执行的目的,当 ...

  9. 【Python 爬虫】多线程爬取

    文章目录 前言 一.多进程库(multiprocessing) 二.多线程爬虫 三.案例实操 四.案例解析 1.获取网页内容 2.获取每一章链接 3.获取每一章的正文并返回章节名和正文 4.将每一章保 ...

最新文章

  1. 国产操作系统进入被彻底抛弃的时代
  2. RxJava 设计理念 观察者模式 Observable lambdas MD
  3. Redis学习手册(String数据类型)
  4. 微机原理实验4:统计学生成绩
  5. SpringBoot整合Shiro实现权限管理,经典实战教程
  6. 真相了!为什么华为不惜成本也要支持外置存储卡扩展?
  7. testng重跑和框架亮点
  8. SQL SERVER游标浅析
  9. 2.Zabbix企业级分布式监控系统 --- Zabbix 简介
  10. ssh远程连接网络构建
  11. 论文中baseline是什么意思?
  12. Qt多线程之QThread
  13. 什么是十六进制法_十六进制计算方法是什么?
  14. android极光推送问题,Android 极光推送问题
  15. linux修改只读文件指令,linux修改文件权限
  16. 从上到下的系统架构分析方法 - Intel PMU
  17. 历届试题 合根植物 C语言,植物营养历年真题(整理).doc
  18. 哈密瓜水果的文案,水果哈密瓜文案高级感
  19. 自动驾驶开发中的地图
  20. 天然“降脂药”,帮你“吃掉”血脂!

热门文章

  1. 风控人不能不知的黑产大揭秘
  2. 鸡汤_王石:你没有变强只因你一直很舒服
  3. (附源码)计算机毕业设计SSM流浪动物救助系统
  4. 通过three.js实现3d模型展示
  5. C#语言实例源码系列-设置系统时间
  6. 什么是人工智能?人工智能如何系统的学习
  7. MSDC 4.3 接口规范(21)
  8. 补丁服务器同步不上微软,无法初始化 Microsoft Exchange 信息存储服务,因为客户端和服务器计算机上的时钟不同步...
  9. 『辞旧迎新』一个只会写Bug的Coder年终总结
  10. 【拍摄日志五】拍摄手法,画面构图,光影关系