Я пытаюсь реализовать параллелизм, используя python.
Я использую VS 2017 с Python версии 3.7.
Мой код, как показано ниже:
def do_parallelization(self, link_list):
cpus = multi.cpu_count()
workers = []
page_bins = self.__get_chunks(cpus, link_list)
array_s = Array(c_wchar_p,3)
for cpu in range(cpus):
#sys.stdout.write("CPU " + str(cpu) + "\n")
# Process that will send corresponding list of pages
# to the function perform_extractionpage_bins[cpu]
try:
worker = multi.Process(name=str(cpu), target= self.get_page_content_para, args=(page_bins[cpu], array_s))
worker.daemon = True
workers.append(worker)
except Exception as e:
print(e)
for worker in workers:
worker.start()
for worker in workers:
worker.join()
print (array_s[:])
def get_page_content_para(self, link_list, array_s):
array_s[:] = ["up", "down", "left"]
Здесь я пытаюсь обновить Array
, но вв конце вызова функции, я печатаю массив, который дает мне вывод ниже:
["","",""]
Я искал в интернете, но все говорят, что он должен обновить переменную.Я что-то упустил?