История изменений
Исправление alysnix, (текущая версия) :
задачи, асинхронный вызов и ожидание
сначала надо сформулировать что такое «задача» и «ожидание». если у «задачи» есть свой контекст исполнения - то это просто тред.
если у задачи контекста нет, а это просто хук отправляемый треду-воркеру в очередь заданий - то это совсем дело иное. тут контекст имеет воркер, и в таких понятиях писать неудобно, а порой и невозможно. ограничение числа воркеров, накладывает ограничение на число паралелльно исполняемых «задач», что чревато.
асинхронный вызов, это по сути наличие скрытых тредов, что будут асихронно крутить код вашей функции. родственно воркерам. неудобство еще и в том, что надо передавать либо колбек на завершение такого вызова(его дернут как только вызов завершится), либо давать какую-то очередь куда будут бросать мессагу о завершнии. для простых случаев это работает, для сложных - прога превращается в кашу из колбеков, очередей, скрытых тредов и зачем оно вообще нужно. причем асинхронный вызов ясности программе не добавляет.
короче, это все те же треды, только мехом внутрь.
Исходная версия alysnix, :
задачи, асинхронный вызов и ожидание
сначала надо сформулировать что такое «задача» и «ожидание». если у «задачи» есть свой контекст исполнения - то это просто тред.
если у задачи контекста нет, а это просто хук отравляемый треду-воркеру в очередь заданий - то это совсем дело иное. тут контекст имеет воркер, и в таких понятиях писать неудобно, а порой и невозможно. ограничение числа воркеров, накладывает ограничение на число паралелльно исполняемых «задач», что чревато.
асинхронный вызов, это по сути наличие скрытых тредов, что будут асихронно крутить код вашей функции. родственно воркерам. неудобство еще и в том, что надо передавать либо колбек на завершение такого вызова(его дернут как только вызов завершится), либо давать какую-то очередь куда будут бросать мессагу о завершнии. для простых случаев это работает, для сложных - прога превращается в кашу из колбеков, очередей, скрытых тредов и зачем оно вообще нужно. причем асинхронный вызов ясности программе не добавляет.
короче, это все те же треды, только мехом внутрь.