设计一个类MyType: 有一个整型域count,初值为1;有一个方法incre(),实现对count的自增运算。 添加两个线程,分别对MyType实例进行操作,使count的值分别自增10次。
时间: 2024-02-20 18:01:42 浏览: 69
在MySQL中创建实现自增的序列(Sequence)的教程
5星 · 资源好评率100%
好的,我可以为您提供一个Python的实现示例,如下所示:
```python
import threading
class MyType:
def __init__(self):
self.count = 1
self.lock = threading.Lock()
def incre(self):
with self.lock:
self.count += 1
def worker(obj, num):
for i in range(10):
obj.incre()
print(f"Thread {num}: count is {obj.count}")
# 创建MyType实例
my_obj = MyType()
# 创建两个线程
t1 = threading.Thread(target=worker, args=(my_obj, 1))
t2 = threading.Thread(target=worker, args=(my_obj, 2))
# 启动线程
t1.start()
t2.start()
# 等待线程结束
t1.join()
t2.join()
```
以上代码中,我们定义了一个MyType类,其中包含一个整型域count和一个方法incre(),后者实现了对count的自增运算,并使用了一个线程锁来保证线程安全。
然后,我们创建了两个线程,每个线程都对MyType实例进行操作,使count的值分别自增10次。最后,我们启动线程并等待它们结束,以便查看count的最终值。
希望这个示例对您有所帮助!
阅读全文