创建两个线程,实现两个线程轮流数数的功能
时间: 2024-03-12 16:44:09 浏览: 154
好的,下面是一个简单的 Python 代码实现:
```python
import threading
lock = threading.Lock()
count = 0
def thread1():
global count
while count < 10:
lock.acquire()
if count % 2 == 0:
print("Thread 1: ", count)
count += 1
lock.release()
def thread2():
global count
while count < 10:
lock.acquire()
if count % 2 == 1:
print("Thread 2: ", count)
count += 1
lock.release()
t1 = threading.Thread(target=thread1)
t2 = threading.Thread(target=thread2)
t1.start()
t2.start()
t1.join()
t2.join()
```
这里创建了两个线程 `t1` 和 `t2`,并且定义了一个全局变量 `count` 用来记录当前数的值。`thread1` 和 `thread2` 分别表示两个线程的逻辑,`lock` 用来保证线程安全。
在 `thread1` 中,线程会不断地尝试获取锁,并判断当前的数是否为偶数,如果是,则输出当前数并将 `count` 加一;在 `thread2` 中,则是判断当前数是否为奇数。两个线程不断地轮流执行,直到 `count` 的值达到 10 为止。
希望这个例子能够帮助你更好地理解线程的使用。
阅读全文