python中线程的独占

python中线程的独占

1. python中使用threading模块创建线程

2. 而python中线程的独占是通过join()方法实现的(线程独占我们可以理解为某个线程优先级较高)

join()方法的功能:当前线程执行完后其他线程才会继续执行。

下面我们可以通过代码来理解:

import threading, time

def singing():
    for i in range(5):
        time.sleep(1)
        print('嚣张, 下山, 老街')

def dancing():
    while True:
        time.sleep(1)
        print('开始跳舞')
if __name__ == '__main__':
    s = threading.Thread(target=singing)
    s.start()
    # s.join()                #在d线程前加载,s线程执行完后d线程才执行,主线程2才输出
    print('主线程1...')
    d = threading.Thread(target=dancing)
    d.start()
    # s.join()               #s线程执行完(d线程也在执行)则输出主线程2,接着执行d线程
    # d.join()               #s线程和d线程都执行完后主线程2才输出
    print('主线程2...')

(我们一定要注意启动线程独占的位置,位置不同,结果就不同)

总结:

1.一个启动的线程, 一旦启动独占模式, 要求独占的线程执行完毕后, 才会执行后续的线程
2.一旦独占模式启动了, 独占之前的所有线程全部执行,知道启动独占模式的线程执行完毕后,CPU才会按照自己的算法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值