Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
研究并行编程python_Python_Parallel Processing_Multiprocessing - Fatal编程技术网

研究并行编程python

研究并行编程python,python,parallel-processing,multiprocessing,Python,Parallel Processing,Multiprocessing,我想为LISTE,r,grid,pos[I,:],h进程创建一个池,我在pos中,它在不同的文件中是变量,这个文件是ndarray[],我必须在一个While循环之间的另一个文件中调用整个函数。但是这个代码给出了错误,如果我使用 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': 它将不会通过if uuu name uuuu=='uuuuu main uuuuuuu':模块下方 请告诉我怎么做,我还是有点难以理解你的问题。但我认为这就是你想要的: 您希望能够调

我想为LISTE,r,grid,pos[I,:],h进程创建一个池,我在pos中,它在不同的文件中是变量,这个文件是ndarray[],我必须在一个While循环之间的另一个文件中调用整个函数。但是这个代码给出了错误,如果我使用 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': 它将不会通过if uuu name uuuu=='uuuuu main uuuuuuu':模块下方
请告诉我怎么做,我还是有点难以理解你的问题。但我认为这就是你想要的:

您希望能够调用一个函数,该函数在给定r、grid、pos、h的情况下创建一个池。在pos上迭代,将其馈送到池中,然后返回结果。您还希望能够从不同的模块访问该功能。如果这是你的要求,你可以这样做:

async_module.py:


这个:因为我在位置[-1]因为我在位置[-1]可能我遗漏了什么。。。不是pos[-1]不是pos[-1]谢谢dano的回答..仍然没有得到令人满意的结果。我可以拥有你的电子邮件id以便我可以发送整个代码给你以获得更好的主意..或者dhruvalraval@ymail.com只是在这个id上打电话给我。。
import multiprocessing
from multiprocessing import Pool
from source.RUN import*

def func(r,grid,pos,h):
    return r,grid,pos,h
    p = multiprocessing.Pool()  # Creates a pool with as many workers as you have CPU cores
    results = []


if __name__ == '__main__':
    for i in  pos[-1]<2:
    results.append(Pool.apply_async(LISTE,(r,grid,pos[i,:],h)))
    p.close()
    p.join()

for result in results:
    print('liste', result.get())
from multiprocessing import Pool

# Not sure where the LISTE function gets defined, but it needs to be in here.

def do_LISTE(*args):
    # args is a tuple containing (r, grid, pos[i, :], h)
    # we use tuple expansion (*args( to send each parameter to LISTE
    return LISTE(*args)

def async_process(r,grid,pos,h):
    return r,grid,pos,h
    p = multiprocessing.Pool()  # Creates a pool with as many workers as you have CPU cores
    results = p.map(do_LISTE, [(r,grid,pos[i,:], h) for i in pos[-1]<2])
    p.close()
    p.join()
    return results
from async_module import async_process

def do_async_processing():
    r = "something"
    grid = get_grid()
    pos = get_pos()
    h = 345
    results = async_process(r, grid, pos, h)

if __name__ == "__main__":
    do_async_processing()  # Make sure the entry point is protected by `if __name__ == "__main__":`.