编写一个程序,启动三个线程,三个线程的ID分别是A,B,C;打印顺序是ABCABC…
时间: 2023-10-09 21:10:09 浏览: 115
下面是一个使用 Python 语言编写的程序,可以启动三个线程,线程 ID 分别为 A、B、C,并按照 ABCABC... 的顺序打印:
```python
import threading
def print_ABC():
global count
while count < 10:
if lock.acquire():
if count % 3 == 0:
print("A", end="")
elif count % 3 == 1:
print("B", end="")
else:
print("C", end="")
count += 1
lock.release()
threads = []
count = 0
lock = threading.Lock()
for i in range(3):
t = threading.Thread(target=print_ABC)
threads.append(t)
for t in threads:
t.start()
for t in threads:
t.join()
print("")
```
这个程序中,我们定义了一个 `print_ABC` 函数,该函数会不断地打印 A、B、C 中的一个,并且在打印前会先获取锁,以保证打印顺序的正确性。当打印次数达到 10 次时,线程会退出。
然后我们创建了三个线程,每个线程都执行 `print_ABC` 函数。最后我们启动这三个线程,并等待它们全部执行完毕,然后输出一个空行,以便于下一行输出。
阅读全文