c++ 多线程加法代码
时间: 2023-09-18 14:07:13 浏览: 54
可以提供以下多线程加法代码:
```python
import threading
sum = 0
lock = threading.Lock()
class AddThread(threading.Thread):
def __init__(self, start, end):
threading.Thread.__init__(self)
self.start = start
self.end = end
def run(self):
global sum
for i in range(self.start, self.end):
with lock:
sum += i
def multi_thread_sum(n, thread_num):
global sum
sum = 0
threads = []
step = n // thread_num
for i in range(thread_num):
start, end = i * step, (i + 1) * step
if i == thread_num - 1:
end = n
t = AddThread(start, end)
threads.append(t)
for t in threads:
t.start()
for t in threads:
t.join()
return sum
if __name__ == '__main__':
n = 100000000
thread_num = 4
result = multi_thread_sum(n, thread_num)
print(result)
```
此代码使用了多线程技术,将大的计算任务分解成多个小的任务,由多个线程同时计算,最终合并结果。需要注意的是,由于多个线程同时修改同一个全局变量 sum,需要使用锁机制避免并发修改的问题。