编写代码,实现两个线程互斥运行,要求线程一完整输出1-50,线程二完整输出51-100,必须保证线程一,线程二的完整执行.
时间: 2024-01-02 19:03:52 浏览: 23
可以使用互斥锁来实现两个线程的互斥运行,下面是示例代码:
```python
import threading
mutex = threading.Lock()
def thread_one():
mutex.acquire()
for i in range(1, 51):
print(i)
mutex.release()
def thread_two():
mutex.acquire()
for i in range(51, 101):
print(i)
mutex.release()
if __name__ == '__main__':
t1 = threading.Thread(target=thread_one)
t2 = threading.Thread(target=thread_two)
t1.start()
t2.start()
t1.join()
t2.join()
```
在上面的代码中,我们使用了 `threading.Lock()` 创建了一个互斥锁,并在两个线程 `thread_one` 和 `thread_two` 中分别使用了 `mutex.acquire()` 获取锁,使用了 `mutex.release()` 释放锁。这样就保证了两个线程的互斥执行。
在主程序中,我们创建了两个线程并启动它们,使用了 `t1.join()` 和 `t2.join()` 来等待两个线程的执行完成。这样就保证了两个线程的完整执行。