单任务多线程python
时间: 2023-10-12 16:22:08 浏览: 94
在 Python 中,可以使用 `threading` 模块来实现多线程。下面是一个示例代码,它使用单任务多线程来计算素数:
```python
import threading
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
def calculate_primes(start, end):
for n in range(start, end):
if is_prime(n):
print(n)
def main():
num_threads = 4
max_num = 1000000
step = max_num // num_threads
threads = []
for i in range(num_threads):
start = i * step
end = (i+1) * step
t = threading.Thread(target=calculate_primes, args=(start, end))
threads.append(t)
t.start()
for t in threads:
t.join()
if __name__ == '__main__':
main()
```
该代码将计算从 0 到 1000000 之间的所有素数。它将任务分成 4 个线程,每个线程计算一部分素数。在主线程中,使用 `join` 方法等待所有线程完成。
阅读全文