| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 264 人关注过本帖
标题: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。不知道错在哪
求大神指教


2019-01-13 12:27







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

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