我应该在此Python代码中使用哪种方法.多线程或多处理



我需要运行以下循环n n perally:即一个迭代不应等待其先前的迭代完成。我希望所有迭代都可以同时运行" N"的所有值,以便我可以减少运行时并获得更快的结果。

for i in range(0,n):  
    api=str('some API string like https://maps.googleapis.com/maps/api/place/details/output?parameters '+offset+'')
    tag=json_tag(api) #API call 
    temp=tag["data"] #parsing json response
    for i in temp:
       place_list.append(i["name"]) #storing name field in list
    offset=int(offset)
    offset+=50

其中

def jason_tag(string):
http = urllib3.PoolManager()
r = http.request('GET',string)
tag=json.loads(r.data.decode('utf8'))
return tag

我正在调用具有"偏移"参数的api'n'次,该参数每次被称为api时会更改..'json_tag(api)'返回api call的json响应。数据并将其存储在名为" plot_list"的列表中。

我希望输出相同。列表中的内容(" plot_list")应与我通常运行循环的顺序相同。我应该使用哪种方法运行循环类别多处理或多线程?我该如何实施

获取最大线程号,然后将n分配为线程数,如果需要,则可以平衡。然后只需传递到循环的启动和结束参数。

ex:

def function(start, end):
    for i in range(start,end):  
        [your code]

为了保存结果,您可以使用一些线程索引列出某种结果列表,以了解第一个等等。然后将其与顺序相连。

最新更新