◆问题描述
两个人下棋,一方执黑棋,一方执白棋。要求双方轮流下子。给出两种情况的解决办法:
1)执黑子一方先下
2)双方都可以先下,谁先抢到棋盘谁先下。然后开始轮流下子。
第一种情况
1)
贴代码:
import threading
import time
import random
b=threading.Semaphore(1)
w=threading.Semaphore(0)
def black():
global b,w
i=0
while(i<5):
b.acquire()
i+=1
print("black! ")
print(i)
w.release()
time.sleep(random.random())
def white():
global b,w
j=0
while(j<5):
w.acquire()
j+=1
print("white! ")
print(j)
b.release()
time.sleep(random.random())
if __name__=='__main__':
black=threading.Thread(name='Black',target=black)
white=threading.Thread(name='Whit