Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Программа которая по названию дня недели выдаёт его порядковый номер Нужно написать программу которая по названию дня недели выдаёт его порядковый номер. Программу нужно написать в 2й вариантах - используя switch и вложенные операторы if. С оператором switch всё... https://www.cyberforum.ru/ csharp-beginners/ thread2453152.html C# Как вывести индексы элементов массива, которые у них были до сортировки?
Как вывести индексы элементов массива, которые у них были до сортировки?
C# Создать файл .txt и записать в него числа от 500 до 1 с шагом 0,1 через запятую Создать файл * .txt и записать в него числа от 500 до 1 с шагом 0,1 через запятую. И считайте данные из файла и выведите их в консоль. помогите с кодом на си шарп. очень срочно нужно https://www.cyberforum.ru/ csharp-beginners/ thread2453082.html C# Программа для обработки одномерного числового массива, состоящего из случайных элементов элементов https://www.cyberforum.ru/ csharp-beginners/ thread2453043.html
Разработать алгоритм и программу для обработки одномерного числового массива, состоящего из 20 элементов, которые загадываются случайным образом из промежутка (20; 20). - методом последовательного...
C# Перенести отрицательные элементы в начало массива
В массиве переставьте элементы таким образом ,чтобы в начале массива были отрицательные элементы ,в порядке их следования в исходном
C# Как сделать лаунчер крмп для сервера на C#? https://www.cyberforum.ru/ csharp-beginners/ thread2453031.html
Я хочу сделать его для практической цели и также попрактиковаться немного я бы хотел узнать как сделать скачивание с выбором директории и заменой файлов? Ибо хочу кроме основного вписывание ника,...
C# Читаю Шилдта и хочу попрактиковаться в шарпах что посоветуете для практики? https://www.cyberforum.ru/ csharp-beginners/ thread2453029.html
Есть у кого какие идеи?
Найти номера пары точек, расстояние между которыми наибольшее C#
Даны координаты n точек на плоскости: (X1, Y1),…, (Xn , Yn) (n≤30). Найти номе-ра пары точек, расстояние между которыми наибольшее (считать, что такая пара единственная)
C# Необходимо сделать код https://www.cyberforum.ru/ csharp-beginners/ thread2452995.html
Подскажите пожалуйста, почему у меня получается при любом h значение S = 1? Это я где-то допустил ошибку или так и должно быть? namespace Zadanie4 { class Program { static void...
C# Вывести номер прямоугольника с минимальным периметром https://www.cyberforum.ru/ csharp-beginners/ thread2452989.html
Как вывести номер максимальной площади прямоугольника сделал, а как вывести номер прямоугольника с минимальным периметром ? using System; using System.Collections.Generic; using System.Linq;...
C# как запустить в vsdevcmd.bat gacutil.exe
Есть .bat файл, в котором я нахожу путь до последней версии vsdevcmd.bat Как запустить, зная путь до vsdevcmd.bat, gacutil.exe используя команды bat файлов? Сейчас я пробую вот так call "путь до...
C# Создать класс, содержащий методы нахождения решений систем уравнений Создать класс, содержащий методы нахождения решений системы двух линейных уравнений с двумя неизвестными и системы трех линейных уравнений с тремя неизвестными (коэффициенты могут быть заданы как... https://www.cyberforum.ru/ csharp-beginners/ thread2452938.html
Модератор
Эксперт .NET
10440 / 7413 / 2033
Регистрация: 21.04.2018
Сообщений: 22,394
Записей в блоге: 2
15.05.2019, 01:08 0

Thread.Sleep - C# - Ответ 13570486

15.05.2019, 01:08. Показов 1324. Ответов 4
Метки (Все метки)

Ответ

Цитата Сообщение от morderfaes Посмотреть сообщение
Собственно, проблема - если нажать enter много раз за эти 2 секунды ожидания, то Wait будет вызываться из Menu столько же раз, а нужно только один за 2 секунды. Была попытка сделать это с помощью task.wait(), но это не помогло ни коим образом.
Введите какой-то флаг и по нему вызывайте или нет Wait
Первый вариант
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        private static bool flagWait = true;
        private static void Menu(int i)
        {
            Console.WriteLine(i);
            while (true)
            {
                ConsoleKeyInfo key = Console.ReadKey();
                if (key.Key == ConsoleKey.Enter)
                {
                    if  (flagWait)
                   {
                         flagWait=false;
                         Wait(i);
                         flagWait=true;
                    }
                    break;
                }
            }
        }
Второй вариант делать это же но в самом методе Wait
C#
1
2
3
4
5
6
7
8
9
10
        static void Wait(int i)
        {
            if (!flagWait)
                 return;
            flagWait=false;
            i++;
            System.Threading.Thread.Sleep(2000);
            Menu(i);
            flagWait=true;
        }


Вернуться к обсуждению:
Thread.Sleep C#
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2019, 01:08
Готовые ответы и решения:

Как использовать Thread.Sleep(5000), ошибка: "Элемент "Thread" не существует в текущем контексте"
я так понимаю, что Thread.Sleep(5000); это "тормоз" процесса выполенения программы на 5 сек? А...

Thread.Sleep и lock
Что будет если вызвать Thread.Sleep() внутри блока кода lock?

Thread.Sleep не работает
Всем привет! Задача такая есть таймер который запускается каждый 30 сек и делает рассылку и...

Странное поведение Thread.Sleep
Забавно, уже не первый раз встречаю такую вещь: делаю движение контрола по форме в цикле...

4
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2019, 01:08

Аналог Thread.Sleep в Task
Имеется пример который запускает пару потоков с задержкой. using System; using...

ProgressBar связать с thread.sleep
как получать progressbar.Value в случае когда стоит задержка в 10 секунд и надо в прогресс бар...

Суммируется ли задержка двух Thread.Sleep
Подскажите а Thread.Sleep суммируется или нет? 240000+60000=300000 или будет 240000 ? if...

В момент Thread.Sleep приложение не отвечает
На форме два текстовых поля, из одного из них при нажатии на кнопку получаем значение. Затем нужно...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.