Как стать автором
Обновить

Расследуем дело асинхронного программирования с Леонидом Каневским

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.2K
Всего голосов 9: ↑7 и ↓2+7
Комментарии8

Комментарии 8

  • И корутины, и Task’и могут приостановлены и возобновлены позже.

Как создать Task сразу в приостановленном состоянии?

Как создать Task сразу в приостановленном состоянии?

Впрочем, это уже совсем другая история

Ну именно из коробки вроде как нельзя создать Task в приостановленном состоянии. Можно создать с отложенным запуском, но вопрос вроде был не про это. Поэтому придётся немного подкостылить. Например, использовать withCheckedContinuation(isolation:function:_:)

вопрос был о том, что для отложенного старта в GCD есть DispatchWorkItem, для NSOperationQueue есть NSOperation, в promise-future и Combine тоже есть свои средства. А вот в structured concurrency решили опустить это? В результате Task может стартовать чуть ли не в момент ее объявления.

  • И Task, и корутины управляют потоками и ресурсами и берут на себя переключение контекста, чтобы программисту не приходилось делать это раками.

Тут, определенно, вкралась опечатка, но я не уверен, нужно ли просто поправить первую гласную, или править вторую и удалять третью.

изрядно повеселило, думаю, оба варианта несут схожий смысл )))

  • И те, и другие способны сохранять свои состояния, чтобы продолжить выполнение с того места, на котором оно было приостановлено.

Ээээ, нет. Конвей говорил про сохранение состояния после незапланированного краша, а не после элегантной остановки. Приморозить, а потом разморозить, — и ассемблер умеет.

Самое удивительное, что, несмотря на кристальную внятность Конвея, до сих пор складывается ощущение, что понять его тезисы смог только Джо Армстронг.

Видимо, надо перечитать ещё раз, спасибо за замечание

Зарегистрируйтесь на Хабре, чтобы оставить комментарий
OSZAR »