Python: вы можете установить количество процессоров с помощью многопроцессорного процесса

С multiprocessing.PoolЕсть примеры кода в учебниках, где вы можете установить количество процессов с количеством процессоров. Можете ли вы установить количество процессоров с помощью multiprocessing.Process метод.

from multiprocessing import Process, Value, Array

def f(n, a):
    n.value = 3.1415927
    for i in range(len(a)):
        a[i] = -a[i]

if __name__ == '__main__':
    num = Value('d', 0.0)
    arr = Array('i', range(10))

    p = Process(target=f, args=(num, arr))
    p.start()
    p.join()

    print(num.value)
    print(arr[:])

1 ответ

Решение

На самом деле Process представляет только один процесс, который использует только один процессор (если вы не используете потоки) - вы можете создать как можно больше Processес как вам нужно.

Это означает, что вы должны создать как можно больше ProcessЕсли у вас есть процессоры, чтобы использовать их все (возможно, -1, если вы делаете что-то в основном процессе)

Вы можете прочитать количество процессоров с помощью multiprocessing.cpu_count

Другие вопросы по тегам