У меня есть список чисел, я хочу получить 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()