|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.09.2015, 18:03 | #1 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
Аналог Thread.Sleep или Task.Delay
Есть ли какой-нибудь аналог функциям Thread.Sleep или Task.Delay ? Мне необходимо сделать задержку без блокирования главного потока. Использовать можно только средства .NET Framework 4.0
|
17.09.2015, 18:07 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Вы что-то странное хотите, сформулируйте задачу нормально.
таймер что ли нужен? Для async и т.п. в 4.0 кстати вроде есть библиотека от Microsoft https://www.nuget.org/packages/Microsoft.Bcl.Async Только вряд ли оно вам поможет в вашей странной задаче.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 17.09.2015 в 18:13. |
17.09.2015, 18:20 | #3 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
Вот подробнее: в фреймворке 4.5 я использовал Task.Delay для некоторой задержки без блокирования отзывчивости главной формы. Когда начал запускать на компе с Win XP, то система стала ругаться, что она не поддерживает фреймворк 4.5, а максимум 4.0. Вот теперь приходится искать замену для Task.Delay средствами 4.0. Ключевые слова Async\Await появились только в 4.5, а как без них обойтись в 4.0 хз
|
17.09.2015, 19:06 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну дык выше ссылка на библиотеку, по идее с ней должно работать в 4.0.
TaskEx.Delay А вообще это видимо и с таймером сделать можно если я правильно понял что вам надо. Просто создать, запустить и остановить сразу после срабатывания. Или даже с обычным потоком или Task (Task/TPL были и в 4.0, без некоторых фич)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 17.09.2015 в 19:08. |
17.09.2015, 19:17 | #5 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
TaskEx.Delay что-то моментально срабатывает. Я так понимаю, к нему нужно ещё что-то вроде await прикрутить. Как это сделать?
|
17.09.2015, 19:19 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну так и сделать.
Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
17.09.2015, 19:23 | #7 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
после добавления расширения Async\Await так и не появились. Всё другое, но только не это. В чем дело?
|
17.09.2015, 19:27 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Видимо как-то плохо добавили.
Я просто создал стандартный винформс проект с 4.0, добавил Microsoft.Bcl.Async через NuGet. В using только System.Threading.Tasks
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
17.09.2015, 19:33 | #9 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
Вот процесс установки (вложение)
|
17.09.2015, 19:48 | #10 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
В 2012+ студиях всё прекрасно, а в 2010 не работает
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аналог функции Sleep(); | NewBoy | Общие вопросы C/C++ | 3 | 15.06.2013 18:55 |
Аналог Sleep() | Larboss | Общие вопросы Delphi | 6 | 29.10.2011 02:21 |
Delay - Sleep - delay. | PrOveN | C# (си шарп) | 6 | 26.10.2011 04:36 |
Sleep(50); за 63 мс... или за 47... | Teksa | Общие вопросы C/C++ | 8 | 20.07.2010 08:34 |
Аналог Sleep() | Ants | Общие вопросы Delphi | 2 | 18.11.2008 13:11 |