![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
![]()
Есть ли какой-нибудь аналог функциям Thread.Sleep или Task.Delay ? Мне необходимо сделать задержку без блокирования главного потока. Использовать можно только средства .NET Framework 4.0
|
![]() |
![]() |
![]() |
#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. |
![]() |
![]() |
![]() |
#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 хз
|
![]() |
![]() |
![]() |
#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. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
![]()
TaskEx.Delay что-то моментально срабатывает. Я так понимаю, к нему нужно ещё что-то вроде await прикрутить. Как это сделать?
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Ну так и сделать.
Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
![]()
после добавления расширения Async\Await так и не появились. Всё другое, но только не это. В чем дело?
|
![]() |
![]() |
![]() |
#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
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
![]()
Вот процесс установки (вложение)
|
![]() |
![]() |
![]() |
#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 |