我正在努力弄清楚在使用上multiprocessing.Pool
和multiprocessing.Queue
之间的区别。
为了帮助,这段代码是我尝试做的一个基本示例。
def update():
def _hold(url):
soup = BeautifulSoup(url)
return soup
def _queue(url):
soup = BeautifulSoup(url)
li = [l for l in soup.find('li')]
return True if li else False
url = 'www.ur_url_here.org'
_hold(url)
_queue(url)
我正试图同时运行_hold()
和_queue()
。我不想让它们相互通信,所以不需要使用Pipe
。每隔5秒钟调用update()
。
我真的无法理解创建工作进程池和创建函数队列之间的区别。有人能帮助我吗?
实际的_hold()
和_queue()
函数比示例要复杂得多,因此并发执行确实是必需的,我只是认为这个示例足以提出问题。
apply_async()
。我会研究一下futures
。 - aseylys