标题:python 锁问题
只看楼主
justinwoo97
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2019-1-13
 问题点数:0 回复次数:0 
python 锁问题
问题:
 写两个线程,一个线程打印1~52,另一个线程打印A~Z,打印顺序是12A34B...5152Z;

from threading import Thread,Lock
import time
num = 1

def print_num():
    global num
    for x in range(1,53):
        if num%3!=0:
            c.acquire()
            print(x)
            num+=1
            c.release()




def print_alpha():
    global num
    for i in range(ord("A"),ord("Z")+1):
         if num%3==0:
             c.acquire()
             print(chr(i))
             num+=1
             c.release()

c = Lock()
a = Thread(target=print_num)
a.start()
b = Thread(target=print_alpha)
b.start()

运行结果显示1,2。不知道错在哪
求大神指教


搜索更多相关主题的帖子: python 线程 打印 Thread num 
2019-01-13 12:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-492659-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.258100 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved