Многопроцессорность Python – поиск простых чисел в интервалеPython

Программы на Python
Ответить
Anonymous
 Многопроцессорность Python – поиск простых чисел в интервале

Сообщение Anonymous »

В Python 3 мне нужно найти простые числа в интервале [a,b], используя в частности многопроцессорные каналы... Вот мой код, использующий методpool.map:

Код: Выделить всё

import multiprocessing
import time

def isprime(num):
if num < 2:
return None
for i in range(2, num):
if (num % i) == 0:
return None
else:
return num

if __name__ == "__main__":
pool = multiprocessing.Pool(3)
start_time = time.perf_counter()
result = list(filter(lambda x: x is not None, pool.map(isprime, range(0,30))))
finish_time = time.perf_counter()
print(f"Program finished in {finish_time-start_time} seconds")
print(result)
Я не до конца понял метод канала, вот код, который я нашел в качестве примера во время исследования

Код: Выделить всё

from multiprocessing import Process, Pipe

def parentData(parent):
''' This function sends the data for the child process '''
parent.send(['Hello'])
parent.close()

def childData(child):
''' This function sends the data for the parent process '''
child.send(['Bye'])
child.close()

if __name__ == '__main__':
parent, child = Pipe()              # Create Pipe
process1 = Process(target = parentData, args = (parent, ))      # Create a process for handling parent data
process2 = Process(target = childData, args = (child, ))        # Create a process for handling child data
process1.start()                    # Start the  parent process
process2.start()                    # Start the child process
print(parent.recv())                # Display data received from child (BYE)
print(child.recv())                 # Display data received from parent (HELLO)
process1.join()                     # Wait till the process completes its execution
process2.join()
Может ли кто-нибудь показать мне пример мультиобработки простых чисел с помощью каналов?

Подробнее: https://stackoverflow.com/questions/721 ... n-interval
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»