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