多线程编程私人笔记
文章平均质量分 51
多线程编程私人笔记
the_beginner
工科男孩,单身未婚
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入理解Python多线程:方法解析与实践案例
要求1:print(i)要求2:每一个线程的频率不一样,time.sleep(i)总结:创建多个线程,每个线程打印频率不一样;为了便于区分,每次打印的时候,可以加一个前缀,类似“线程1”、“线程2”、“线程3”…原创 2024-01-25 15:18:28 · 1115 阅读 · 0 评论 -
Python多线程 Queue 模块
在主程序中,我们首先创建了一个名为threadList的列表,其中包含了我们想要创建的线程的名称。然后,我们创建了一个名为nameList的列表,其中包含了我们想要放入队列中的元素。在每次循环中,我们将尝试获取队列中的一个元素,并将其从队列中移除。接下来,我们定义了一个main()函数,在这个函数中,我们创建了两个线程t和t2,分别执行a()和b()函数。在每次循环中,我们将调用每个线程的join()方法,这将阻塞当前线程,直到目标线程完成。在这个示例中,我们将创建两个线程,分别执行a()和b()函数。原创 2021-07-03 20:19:04 · 728 阅读 · 8 评论 -
Python之Lock锁
python中的锁lock=threading.Lock()避免多个线程保卫同一块数据的时候,产生错误,所以加锁来防止这种问题import threadingimport timefrom queue import Queuedef a(): global A,lock lock.acquire() for i in range(10): A+=1 print("a",A) lock.release()def b(): gl原创 2021-07-03 20:07:30 · 8273 阅读 · 2 评论 -
queue.Queue、生产者消费者架构
1.多组件的Pipeline技术:2.生产者消费者爬虫架构3.多线程数据通信的queue.Queue原创 2021-07-03 15:44:27 · 196 阅读 · 0 评论 -
python3 check_hostname requires server_hostname
问题raise ValueError("check_hostname requires server_hostname")ValueError: check_hostname requires server_hostname解决方案:关闭代理服务器参考资料:《python3 check_hostname requires server_hostname》原创 2021-07-03 15:29:26 · 180 阅读 · 0 评论 -
使用多线程方法加速Python爬虫
1.Python创建多线程的方法①准备一个函数:def my_func(a,b): do_craw(a,b)②创建一个线程:import threadingt=threading.Thread(target=my_func,args=(100,200))③启动线程:t.start()④等待结束:t.join2.改写爬虫程序,变成多线程爬取3.速度对比:单线程爬虫VS多线程爬虫参考资料:B站《使用多线程,Pyhton爬虫被加速10倍》...原创 2021-07-03 15:01:51 · 300 阅读 · 0 评论 -
Python之全局解释器锁GIL
1.Python速度慢的两大原因某些特殊情况下,Python比C++慢100~200倍,因此很多公司的基础框架仍然使用C/C++开发,例如阿里、腾讯、快手的推荐引擎、搜索引擎、存储引擎。原因一:动态类型语言,边解释边执行原因二:GIL,无法利用多核CPU并发执行2.GIL是什么?GIL(Global Interpreter Lock)计算机程序设计语言解释器用于同步线程的一种机制,它使得任何时刻仅有一个线程在执行,即使在多核处理器上,使用GIL解释器也只允许同一时间执行一个线程。由于GIL的原创 2021-07-03 10:20:47 · 146 阅读 · 2 评论 -
多线程、多进程和多协程如何选择?
Python并发编程的三种方式:一个进程中可以启动N个线程:多线程和多进程;一个线程中可以启动N个协程:多协程。1.多进程Process(multiprocessing)优点:可以利用多核CPU并行运算缺点:占用资源多、可启动数目比线程少适用于:CPU密集型计算2.多线程Thread(threading)优点:相比进程,更轻量级、占用资源少缺点:相比进程,python多线程只能并发执行,不能利用多CPU(GIL);(只能使用一个CPU)相比协程,启动数目有限制,占用内存资源,有线程切换原创 2021-07-03 09:55:43 · 1201 阅读 · 0 评论 -
有哪些程序提速的方法?
原创 2021-07-03 09:15:03 · 184 阅读 · 0 评论
分享