GIL锁和多线程开发

GIL锁

这玩意可以让同时刻一个进程中只有一个线程被CPU调用
在这里插入图片描述
所以要体现计算机多核优势就要使用多进程:
在这里插入图片描述
如果不用多核优势,只要用多线程就行了。

所以要计算密集型就用多进程,例如:大量数据计算
IO密集型就用多线程,例如:文件读写,网络数据传输。

多线程开发细节

一个程序开发是有一个主线程的,我们创建的都是子线程,当主线程执行完它会等子线程,子线程都结束了主线程才执行完毕

常见方法
t.start()
线程准备就绪,等待cpu调度

t.join()
等待当前线程执行完毕后在向下继续执行,(主线程停车等待,执行该子线程)

t.setDaemon(布尔)
守护线程,必须放在start前,如果为TRUE主线程就不等子线程了,主线程搞定子线程不搞完也结束。

name=threading.current_thread().getName()
获取当前执行此代码的线程

t.setName()给线程取名字必须放在start()之前
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值