Итак, я только что закончил смотреть это видео на YouTube. Насколько я понимаю, пока один поток спит, другие потоки в программе могут работать. У меня вопрос, считается ли ожидание ответа HTTP "спящим"? И будут ли выполняться другие задачи в ожидании ответа?
Например:
from threading import Thread
from requests import get
def send_request():
response = get('https://www.google.com/')
return response
def add(x):
return x + 2
t1 = Thread(target=send_request)
# t1.start()
t2 = Thread(target=add, args=(1,))
# t2.start()
t3 = Thread(target=add, args=(3,))
# t3.start()
t1.start()
t2.start()
t3.start()
Допустим, для получения ответа от get('https://www.google.com/')
требуется 100 миллисекунд, будут t1
и t2
выполнить в течение 100 миллисекунд, чтобы получить ответ? Какая разница, когда я вызываю .start()
для каждого объекта потока после создания экземпляра ВСЕ в отличие от вызова .start()
после КАЖДОГО экземпляра?
Спасибо всем, кто ответит заранее!