创建两个线程实现交替计数
时间: 2024-02-25 15:56:34 浏览: 74
好的,我可以为您提供一个 Python 语言的实现示例。
```python
import threading
class Counter:
def __init__(self):
self.count = 0
self.lock = threading.Lock()
def increment(self):
with self.lock:
self.count += 1
print(self.count)
def thread1(counter):
for i in range(10):
counter.increment()
def thread2(counter):
for i in range(10):
counter.increment()
counter = Counter()
t1 = threading.Thread(target=thread1, args=(counter,))
t2 = threading.Thread(target=thread2, args=(counter,))
t1.start()
t2.start()
t1.join()
t2.join()
```
这个示例使用了 `threading` 模块创建了两个线程 `t1` 和 `t2`,这两个线程都共享一个计数器 `Counter` 的实例 `counter`,并且在各自的循环里调用 `counter.increment()` 方法来实现交替计数。在 `Counter` 类中使用了一个锁 `lock` 来保证计数器的线程安全。最后,调用 `t1.join()` 和 `t2.join()` 等待两个线程执行完毕。
阅读全文