python高阶编程(十三):并发-线程

1、threading模块介绍

python的thread模块是比较底层的模块,python的threading模块 是对thread做了-些包装的,可以更加方便的被使

●创建线程对象: threading.Thread(target=func)
●参数target指定线程执行的任务(函数)
Thread类提供了以下方法:
run():用以表示线程活动的方法
start():启动线程活动
join([time]):设置主线程会等待time秒后再往下执行,time默认为子线程结束,多个子线程之间设置的值会叠加

2、多线程实现多任务

python中线程释放全局解释器锁的两种状态(线程切换):
1、线程中执行遇到IO、耗时操作
2、线程执行的时达到指定的阈值(0.005秒)
# 获取线程切换的阈值
# import sys
# print(sys.getswitchinterval())

1)、使用Thread类来创建线程

使用多线程完成上面的两件事
创建线程:

# 创建线程对象
t1 = threading.Thread(target=func)
# 创建线程的参数:
target:指定线程执行的任务函数
name:设置线程名称
args:给任务函数传递参数(元组)
kwargs:给任务函数传递参数(字典)
daemon:是否设为守护线程
    守护线程:主线程执行结束、子线程不管有没有执行完,都终止执行

启动线程:当调用 start() 时,才会真正的创建线程,并且开始执行
t1.start()

t1.join() #主线程默认是不会等待子线程,子线程执行子线程的任务,主线程执行主线程的,join 方法可以设置主线程等待的时间,多个子线程同时使用join设置的时间会叠加
#线程对象的方法:
start(): #启动线程
getName()  # 获取线程名
is_alive()  # 判断线程是否存活
isAlive()
isDaemon
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值