编写10个线程,第1个线程从1加到10,第2个线程从11加到20....第10个线程从91加到100,最后把这10个线程结果相加
时间: 2023-06-24 16:02:59 浏览: 125
用汇编语言编一个从1加到100的程序
5星 · 资源好评率100%
下面是一个实现该功能的示例代码:
```python
import threading
class SumThread(threading.Thread):
def __init__(self, start, end):
threading.Thread.__init__(self)
self.start = start
self.end = end
self.sum = 0
def run(self):
for i in range(self.start, self.end+1):
self.sum += i
threads = []
total_sum = 0
for i in range(10):
start = i*10 + 1
end = (i+1)*10
t = SumThread(start, end)
threads.append(t)
t.start()
for t in threads:
t.join()
total_sum += t.sum
print(total_sum)
```
该代码创建了一个 `SumThread` 类,该类继承自 `threading.Thread` 类,每个线程都会创建一个 `SumThread` 对象,并将线程的计算范围传递给该对象。在 `run` 方法中,线程会计算从 `start` 到 `end` 的整数和,并将结果保存在 `sum` 属性中。
主线程会创建10个线程,并将它们添加到一个列表中。接着,主线程会使用 `join` 方法等待所有线程执行完毕。在等待期间,主线程会将每个线程的计算结果相加,最终得到所有线程计算结果的总和。最后,主线程将总和打印出来。
阅读全文