我正在尝试使用python实现并行性。
我正在使用VS 2017和python版本3.7。
我的代码如下:
viewDidLayoutSubviews
在这里,我尝试更新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
我已经在互联网上进行搜索,但是所有人都说它应该更新变量。 我想念什么吗?
答案 0 :(得分:0)
放进去
worker.start()
worker.join()
在
下worker = multi.Process(name=str(cpu), target= self.get_page_content_para, args=(page_bins[cpu], array_s))
但是当我提到时,是真的在做并行吗?
据我所知,何时按上述方式重写它是一种方式执行,我的意思是一个进程开始,结束它,然后启动第二个进程。
这是并行性吗?
有人可以解释吗?