使用3个线程计算从1到200的累加和的代码
时间: 2024-02-11 13:03:42 浏览: 83
c#.net程序设计(循环结构)-求1到100的累加和
好的,下面是使用3个线程计算从1到200的累加和的代码:
```python
import threading
class SumThread(threading.Thread):
def __init__(self, start, end):
threading.Thread.__init__(self)
self.start = start
self.end = end
self.result = 0
def run(self):
for i in range(self.start, self.end+1):
self.result += i
def main():
threads = []
data = [(1, 67), (68, 134), (135, 200)]
for start, end in data:
thread = SumThread(start, end)
thread.start()
threads.append(thread)
result = sum(thread.result for thread in threads)
print(result)
if __name__ == '__main__':
main()
```
以上代码将数据分成了3个部分,每个部分由一个线程来处理。每个线程将自己所处理的数据进行求和,得到一个部分的结果。最终将每个部分的结果加起来,得到了最终的求和结果。
在这个示例中,我们定义了一个 SumThread 类,继承了 threading.Thread 类,并重写了 run 方法来实现线程的主体逻辑。在 main 函数中,我们创建了 3 个 SumThread 类的实例,并将它们加入到线程列表中。最后,我们将每个线程的结果加起来,得到了最终的求和结果。
希望这个示例能够帮助您理解如何使用多线程计算累加和。
阅读全文