1 / 1 / 2
Регистрация: 09.01.2015
Сообщений: 41
|
|
1 | |
.NET 4.x Аналог Thread.Sleep или Task.Delay17.09.2015, 18:11. Показов 6821. Ответов 16
Метки нет (Все метки)
Есть ли какой-нибудь аналог функциям Thread.Sleep или Task.Delay ? Мне необходимо сделать задержку без блокирования главного потока. Thread.Sleep вызывает полную блокировку главного потока на время, а Task.Delay, который мне отлично подходит, доступен только в 4.5 фреймворке, а использовать можно только средства .NET Framework 4.0
0
|
17.09.2015, 18:11 | |
Ответы с готовыми решениями:
16
Аналог Thread.Sleep Task.Delay отказывает в работе Как реализовать выход при условие=1 из Task.Delay(-1)? GetPixel в связке Thread.Sleep |
burning1ife
|
|
17.09.2015, 19:07 | 2 |
1
|
1 / 1 / 2
Регистрация: 09.01.2015
Сообщений: 41
|
|
17.09.2015, 19:20 [ТС] | 3 |
Скачал это расширение. Пишу TaskEx.Delay(время в мс). Что-то оно моментально срабатывает. В чём дело?
0
|
1 / 1 / 2
Регистрация: 09.01.2015
Сообщений: 41
|
|
17.09.2015, 19:28 [ТС] | 5 |
Ну это уже ближе к делу, только вот ведь нужно ещё в метод добавить async, а после установки этой библиотеки это ключевое слово так и не появилось... Как быть?
0
|
1 / 1 / 2
Регистрация: 09.01.2015
Сообщений: 41
|
|
17.09.2015, 19:35 [ТС] | 7 |
Вот я установил библиотеку и добавил async к button1_Click(), но это к. слово не определяется. (вложение)
0
|
1 / 1 / 2
Регистрация: 09.01.2015
Сообщений: 41
|
|
17.09.2015, 19:46 [ТС] | 9 |
Сейчас проверил: в 2012, 2013 и 2015 студиях всё успешно, а вот 2010 отказывается видеть async. Фишка в том, что мне нужно скомпилировать именно в ней проект, т.к. Win XP не поддерживает проги, написанные в VS 2012 и выше
0
|
burning1ife
|
|
17.09.2015, 20:12 | 10 |
Добавлено через 2 минуты Мне кажется все дело только во Framework, чтобы был не выше 4,0, вне зависимости от того где написано. При создании проекта можно указать 4,0 (по умолчанию 4,5)
0
|
1 / 1 / 2
Регистрация: 09.01.2015
Сообщений: 41
|
|
17.09.2015, 21:03 [ТС] | 11 |
4.0 и стоит
Добавлено через 43 минуты Ну в общем с Async проблему решил, но вот возникла другая: при запуске программы на Win XP (виртуалка) вылетает ошибка "Невозможно загрузить файл или сборку System.Core Version=2.0.5.0 .... Данное имя сборки или база кода недействительны. Исключение 0x80131047". Весь инэт перерыл, не нашел решения. Подскажите пожалуйста
0
|
1 / 1 / 2
Регистрация: 09.01.2015
Сообщений: 41
|
|
17.09.2015, 21:19 [ТС] | 13 |
Создам поток - начнутся исключения типа "Использование элемента, созданного не в этом потоке". Да и ещё есть одно НО: нет возможности переписывать проект
0
|
1 / 1 / 2
Регистрация: 09.01.2015
Сообщений: 41
|
|
17.09.2015, 21:26 [ТС] | 14 |
Вот снимок экрана
0
|
Каратель
|
|
17.09.2015, 23:43 | 16 |
0
|
18.09.2015, 21:49 | 17 | |||||
VladimirZ29, так а что ты паришься? Ну сделай примерно так. Есть ещё много вариантов. Вот один из них:
0
|
18.09.2015, 21:49 | |
18.09.2015, 21:49 | |
Помогаю со студенческими работами здесь
17
Прервать ожидание Thread.Sleep Как запустить Task в Thread Поговорим про Task и Thread ThreadPool или Thread Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |