尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Python Socket网络编程(2)

Python Socket网络编程(2)
📅 发布时间:2026/6/20 23:48:32

进程:提供计算资源的单位
线程:真正工作的单位(cpu调度最小单元)

GIL锁:全局解释器锁(是CPython解释器特有的,平时说的Python解释器一般都是CPython解释器,还有GPython等等)
让一个进程中同一时刻只能有一个线程可以被CPU调动。
image

所以Python中应该是没有严格意义的多线程的,普通的IO密集型操作也用不上多进程,比如爬虫等
所以在计算密集型才需要考虑使用多进程来进行并发运算

join等待子线程执行结束

setDaemon(必须放在start之前)True设置守护线程,主线程结束,子线程自动关闭,False设置非守护线程,主线程等子线程执行完毕之后,主线程才结束

setName给线程取名字 thread.current_thread().getName()获取当前线程名称,给线程设置名字必须要在开始之前

自定义类,继承thread.Thread,然后添加def run(self)就可以添加干的事

threading.RLock()申请锁,释放锁,不同线程必须要用同一锁才有意义,因为一个申请释放完之后另一个才能申请释放,所以用同一把锁才能有效的让线程有序执行和排队
image
两种上锁和释放锁的方式,with更加简洁,像是文件的打开关闭
有些操作默认是线程安全的,内部形成了锁的机制,我们在使用的时候无需通过锁再处理,比如list.append(),以下这些都是线程安全的
image

Lock()和RLock()基本相同,但是Lock()不能进行锁的嵌套,锁一次解一次是没问题的,而且这种情况下,Lock比RLock的效率要高
image
比较适合的情景,不用担心协同开发导致的锁问题
image

CPU分片计算,线程的切换会导致大量线程时速度的下降

线程池ThreadPoolExecutor()
pool.shutdown()有点像Thread.join()

闭包操作真有意思,就不用改函数输入了
image

相关新闻

  • DRAN读写循环
  • Neisbitt 不等式的证法
  • C语言中递归思想的应用

最新新闻

  • 如何用WELearn网课助手实现高效学习:从技术架构到实际应用的全方位指南
  • 终极FGO自动化指南:如何用Fate/Grand Automata告别重复刷本
  • 3步彻底解决TranslucentTB开机不自启问题:Windows任务栏透明工具启动终极指南
  • 深圳福田区黄金回收怎么卖得高?三个硬指标拆解 - 上门黄金回收
  • 西安新城区卖金指南:当前金价高位,把握回收时机 - 上门黄金回收
  • 终极Zotero插件市场完整指南:如何在Zotero中一键管理所有插件

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号