Несколько вопросов по корутинам. Обсудим?
Q1. Как связаны понятия - нативный поток (поток операционной системы), легковесный поток и корутины?
Q2. Могут ли несколько корутин выполняться внутри одного нативного потока?
Q3. Могут ли несколько корутин выполняться в разных нативных потоках?
Q4. Как правильно называется, когда корутина останавливает свою работу - сон, остановка, пауза (sleeping, suspending, pause)?
Q5. Как корутина понимает, что сейчас время её для остановки/для возобновления?
Q6. Чем отличаются диспетчеры для IO и для UI , и каковы рекомендации или противопоказания для их использования?
Q7. Каковы отличия корутин от аналогичных понятий в других языках программирования (C#, JS-генераторы)?
Q8. Поддерживат ли Kotlin Native корутины?