铁路上只有两列火车(同时)最简单的方法是什么。我的英语不好。这是我唯一能解释的方法。我知道我应该排队吗?我在我的语言里找不到信息
谢谢你!你知道吗
1>;开始,2>;开始。3,4等等。1>;完成,3>;开始(第4个仍在等待)。。你知道吗
from threading import Thread
import time
import random
def trains(city):
print city, 'start'
for count in range(1,3):
delay = random.randrange(5,10)
print city, 'delay', delay
time.sleep(delay)
print city, 'end'
cities = ['prague', 'london', 'berlin', 'moscow']
threadlist = []
for city in cities:
t = Thread(target=trains, args=(city,))
t.start()
threadlist.append(t)
for b in threadlist:
b.join()
我将在这里猜测一些事情:
iolock
的目的是阻止终端中的混合输出:一次只打印一个线程。railroads
的目的是允许最多两个线程同时进入代码体。下面是示例输出。请注意,“布拉格”和“伦敦”刚开始时正好运行,但“柏林”不会在“伦敦”结束前启动。那么“莫斯科”直到“布拉格”结束才开始:相关问题 更多 >
编程相关推荐