摘要:
线程安全概念介绍 Lock用于解决线程安全问题 未加锁导致重复扣款 现在有一个取钱的功能,如果账户余额大于取钱数量的时候,就会进行取钱操作,启动2个线程,并发的去取钱,可能会出现余额不足,但也能进行取钱的操作,如果加了等待时间,这个现象是必现的,因为sleep会造成线程的阻塞,导致线程的切换 tmp 阅读全文
摘要:
多组建的pipline技术架构 生产者消费者爬虫的架构 多进程数据通信的queue.Queue 线程安全:指的是多个线程不会冲突 get和put方法是阻塞的:当里面没有数据的时候,q.get()会卡住,直到里面有了数据把它取出来,q.put()当队列满了以后会卡住,直到有一个空闲的位置才能put进去 阅读全文
摘要:
python创建多线程的方法 单线程、多线程爬取博客园速度对比 tmp/blog_spider.py import requests urls = [ f"https://www.cnblogs.com/#p{page}" for page in range(1, 50+1) ] def craw( 阅读全文
摘要:
pycharm中python文件名命名的时候应该避免使用中划线,否则导入模块的时候,会出现无法智能识别自动导入的问题 改为下划线后可以智能识别了 阅读全文
摘要:
python速度慢的两大原因 GIL是什么 为什么有GIL这个东西 怎么规避GIL带来的限制 阅读全文
摘要:
python并发编程的三种方式 多线程Thread、多进程Process、多协程Coroutine 什么是CPU密集型计算、IO密集型计算 CPU密集型(CPU-bound):CPU密集型也叫计算密集型,是指I/O在短时间内就可以完成,CPU需要大量的计算和处理,特点是CPU占用率相当高。例如:压缩 阅读全文
摘要:
学习教程地址 这篇教程是:b站up主蚂蚁学Python的视频教程的笔记,原视频地址:【2021最新版】Python 并发编程实战,用多线程、多进程、多协程加速程序运行 为什么要引入并发编程 场景1:一个网络爬虫,按顺序爬取花了1个小时,采用并发下载减少到20分钟! 场景2:一个APP应用,优化前每次 阅读全文