python高级编程之线程等待join

https://blog.csdn.net/weixin_45912307/article/details/124161428
1. 线程全局变量数据错误的解决办法:

  • 线程同步: 保证同一时刻只能有一个线程去操作全局变量 ;同步: 就是协同步调,按预定的先后次序进行运行

2. 线程同步的方式:

3. 线程等待join

import threading
g_num = 0

def buy_tick01():
    global g_num
    for i in range(1000000):
        g_num +=1
    print("buy_tick01:%s" % g_num)
def buy_tick02():
    global g_num
    for i in range(1000000):
        g_num += 1
    print("buy_tick02:%s" % g_num)
if __name__ == '__main__':
    t1 = threading.Thread(target=buy_tick01,name='tick01')
    t2 = threading.Thread(target=buy_tick02,name='tick02')
    t1.start()
    # 主线程等待第一个线程执行完成以后代码再继续执行,让其执行第二个线程
    # 线程同步: 一个任务执行完成以后另外一个任务才能执行,同一个时刻只有一个任务在执行
    t1.join()
    t2.start()

输出

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值