Python多线程

时间:2017-10-12 03:14:00

标签: python python-multithreading

我必须编写产生3个线程的Python程序。将ID作为参数传递给每个线程(编号1到3)。在每个线程中,调用以下JSON端点,将{ID}替换为传递给线程的ID。

https://jsonplaceholder.typicode.com/posts/ {ID}

在将JSON字符串返回到主线程之前,将其解析为每个线程中的di​​ct。将所有子线程的结果合并到主thread.my代码中的列表中,如下所示

import threading 
import requests 
import json 
import queue 

q = queue.Queue() 

def main():
   th_list=[]
   for i in range(1,4):
       t = threading.Thread(target=call_url, args=(i,q))
       th_list.append(t)
   print(th_list)
   for thread in th_list:
       thread.start()  
   #for thread in th_list:
       #print(thread.join())
   print(q.get())
    def call_url(i,q):
   url='https://jsonplaceholder.typicode.com/posts/' + str(i)
   response=requests.get(url)
   o_dict=json.loads(response.content)
   q.put(o_dict)

if __name__=='__main__':
   main()

但结果却让我None。任何帮助将不胜感激。

0 个答案:

没有答案