Является ли Django (особенно Django Rest Framework) действительно синхронным?
Я знаю некоторые понятия о том, что Django (DRF) является синхронным и у него есть несколько рабочих, но я мало что знаю об этом.
Я попытался проверить это и создал это представление по адресу http://localhost:8000/my-view/:
def my_view(request):
    # Simulate some time-consuming task
    time.sleep(10)
    return HttpResponse("Response after 10 seconds")
Я открыл 7 терминалов и выполнил одну и ту же команду на каждом из них в течение 1-2 секунд (почти одновременно):
curl http://localhost:8000/my-view/ -H 'Content-Type: application/json'
--> и в результате в каждом терминале я получил ответ через 10-12 секунд.
Вот вопрос, если Django синхронный, то почему выполнение этих запросов по одному не заняло 70 секунд?
Единственное объяснение, которое я могу придумать, - это то, что он использует многопоточность.
Django является синхронным (за исключением когда это не так), но у него нет понятия "некоторые рабочие". Сервер приложений, на котором запущено приложение Django, может иметь понятие о рабочих.
 Сервер разработки по умолчанию runserver действительно является многопоточным.
 Запустите с python manage.py runserver --nothreading --noreload для однопроцессного, однопоточного сервера разработки.