многопроцессорность, неудовлетворенная никакими аргументами - PullRequest
0 голосов
/ 26 мая 2020

У меня есть список чисел, я хочу получить 2 разных ядра процессора для печати по половине списка каждое. Одно ядро ​​запускается с самого начала, другое начинается с середины.

Я сделал 2 попытки. Оба выдают ошибки, которые говорят мне попробовать мою другую попытку пример попыток и ошибок здесь

ошибка 1 = слишком много аргументов, нужно только 1

ошибка 2 = 1 аргумент не повторяется

(примите решение)

код 1 (не повторяется)

import multiprocessing as mp
import numpy as np

A = np.linspace(0,99999999,999999)

def print_stuff(i):
    for j in i:    # i want two seperate proccessores to print half of this list each 
        print(A[j]) 

def do_stuff():
    print("doing stuff")
    kk = range(int(len(A/2)))
    kk2 = [] # to use to index places in the lists
    for i in kk:
        kk2.append(i+kk[-1])
    print(len(kk2))

    p1 = mp.Process(target = print_stuff, args = kk,)
    p2 = mp.Process(target = print_stuff, args = kk2,)
    p1.start()
    p2.start()

    # This will terminate the thread when they done their job(s)
    p1.join()
    p2.join()
    print("done stuff")

if __name__ == "__main__":
    do_stuff()

код 2 (повторяется)

import multiprocessing as mp
import numpy as np

A = np.linspace(0,99999999,999999)

def print_stuff(i):
    # i want two seperate proccessores to print half of this list each 
    print(A[j]) 

def do_stuff():
    print("doing stuff")
    kk = range(int(len(A/2)))
    kk2 = []
    for i in kk:
        kk2.append(i+kk[-1])
    print(len(kk2))
    for i in range(int(len(A/2))):
        p1 = mp.Process(target = print_stuff, args = kk[i],)
        p2 = mp.Process(target = print_stuff, args = kk2[i],)
        p1.start()
        p2.start()

    # This will terminate the thread when they done their job(s)
        p1.join()
        p2.join()
    print("done stuff")

if __name__ == "__main__":
    do_stuff()

1 Ответ

0 голосов
/ 26 мая 2020

Первый код проблематичен c, потому что вы передаете Iterable, где требуется целое число.

...