Популярная библиотека Python Requests на своей домашней странице считается поточно-ориентированной, но нет даны дальнейшие подробности. Если я вызываю requests.session()
, могу ли я безопасно передать этот объект нескольким потокам, например:
session = requests.session()
for i in xrange(thread_count):
threading.Thread(
target=target,
args=(session,),
kwargs={}
)
и делать запросы, используя один и тот же пул соединений в нескольких потоках?
Если да, то это рекомендуемый подход или каждому потоку должен быть предоставлен собственный пул соединений? (Предполагая, что общий размер всех отдельных пулов соединений в сумме равен размеру одного большого пула соединений, подобного приведенному выше.) Каковы плюсы и минусы каждого подхода?