当前位置: 首页 > news >正文

Python Socket网络编程(2)

进程:提供计算资源的单位
线程:真正工作的单位(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

http://www.sczhlp.com/news/104527/

相关文章:

  • PS2025安装包下载及PS2025安装包安装教程详细步骤(包含安装包下载链接)
  • Nature Genetics | 本周最新文献速递
  • 网站首页设计排版要点编写软件
  • 微信分销网站建设哪家好品牌策划公司有哪些
  • 游戏网站建设的必要性网页设计代码源
  • 建筑工程网上报建网站焦作网站建设公司排名
  • 长沙门户网站开发aso推广方案
  • 苏州新区建网站ydg wordpress theme
  • 黄页推广是什么意思流程优化四个方法
  • asp网站建设实录如何做翻唱网站
  • 怎么做网盘搜索引擎网站网页制作首页
  • 做一下网站收购废钢iis 5.1 新建网站
  • 关于go里切片作为函数参数时是引用传递还是值传递
  • DRAN读写循环
  • 数据结构操作相关
  • 网站怎么建设与管理徐州网站开发公司电话
  • 网站开发合同 黑客攻击条款盱眙有做网站开发的吗
  • 做暧暧视频免费网站游戏网站网页模板html
  • 墙绘做网站哪家好wordpress建站vip全站教程
  • 网站建设的目标用户蚌埠做网站公司
  • Neisbitt 不等式的证法
  • 端口转发神器Rinetd:轻量级安装与配置指南
  • C语言中递归思想的应用
  • 自适应企业网站模板东莞外贸网站建设策划方案
  • 镇江网站建设门户报价专门做水果的网站
  • 网站里自己怎么做推广wordpress 社区
  • 计算机网站建设考试试卷wordpress 链接跳转插件
  • 在那些网站做宣传更好永久免费云服务器无需注册
  • 旅游网站开发系统的er图福州短视频seo网站
  • 当地建设厅网站兰州互联网公司的排名