Как приостановить асинхронные методы?Как приостановить асинхронный метод?
2
A
ответ
1
Thread.Sleep в рабочем режиме. Конечно, это будет пустой тратой ресурсов нитей, потому что пока она приостановлена, она не делает никакой полезной работы, и потоки предназначены для полезной работы :-)
1
У вас есть несколько вариантов: Как указывает @Darin, вы можете используйте Thread.Sleep, что полезно, если вы хотите дождаться определенной продолжительности и не занимать соответствующее ядро во время этого. Если вы хотите подождать очень короткое время, то Thread.SpinWait может быть лучшим вариантом, так как вы можете избежать переключения контекста, связанного с Sleep. Если вы хотите дождаться определенного события, вы можете использовать EventWaitHandle.
Смежные вопросы
- 1. Асинхронный вызов службы необходимо приостановить
- 2. Как приостановить метод .delay()?
- 3. Как приостановить метод java
- 4. Как создать асинхронный метод
- 5. Как вызвать асинхронный метод?
- 6. Какао - Приостановить метод
- 7. Параллельный метод и асинхронный метод
- 8. Как преобразовать метод в асинхронный метод
- 9. Как написать асинхронный метод JavaScript?
- 10. Как обеспечить асинхронный метод завершения
- 11. Как убить/приостановить/закрыть асинхронный блок в GCD?
- 12. Асинхронный очередь метод Javascript
- 13. Асинхронный метод блокировки вручную
- 14. Асинхронный метод возврата типа?
- 15. Асинхронный Метод скачет ждут
- 16. асинхронный метод выполнения
- 17. Нет Асинхронный метод
- 18. Сделать асинхронный метод синхронным
- 19. Лучший асинхронный метод while
- 20. Асинхронный синхронный метод
- 21. Асинхронный метод для QueueClient.Receive()?
- 22. iPhone: Асинхронный метод HEAD
- 23. Асинхронный метод не-void
- 24. C# асинхронный метод beginend
- 25. Асинхронный метод, возвращающий bool
- 26. Рефактор асинхронный метод
- 27. метод Асинхронный не вызывая
- 28. Асинхронный метод в winforms не работает
- 29. Как приостановить метод в течение определенного времени
- 30. Как приостановить метод до нажатия кнопки?
Не обязательно хорошая идея (как указывают Дарин и Брайан), так как это держит нить занятой, ничего полезной. Одной из причин использования асинхронных методов является сокращение использования ресурсов за счет обеспечения эффективной работы запланированных потоков. Возможным решением является использование: wait TaskEx.Delay (...), который не будет использовать нити в ожидании. Однако в зависимости от того, как это реализовано, это может вызвать проблему слишком большого количества активных таймеров, особенно с большим параллельным программным обеспечением. (TaskEx.Delay() находится в async CTP - я считаю, что это может измениться на Task.Delay() в RTM) – Chris