Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
99 / 95 / 9
Регистрация: 09.04.2010
Сообщений: 746
1

Как сделать задержку, не жрущую CPU?

02.08.2010, 20:34. Показов 2120. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Типа вот так, но явно не так, бо проц грузит на 50%
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
                while (true)
                {
                    
                    t.Suspend(); //t - это ранее запущенный поток.
                    
                    Wait(5000);
                    t.Resume();
                    Wait(5000);
                }
 
        static void Wait(int value)
        {
            Stopwatch sw = new Stopwatch();
            sw.Start();
            while (sw.ElapsedMilliseconds < value)
                Application.DoEvents();
        }
В общем прога должна каждые 10 сек нечто проверять..
(в потоке ничего сложного не выполняеться(проверяется время и активный сетевой адаптер), значит причина в Wait'e)
Пасиб.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.08.2010, 20:34
Ответы с готовыми решениями:

Как сделать задержку ?
к примеру вот программа. Что надо дописать и куда для задержки изображения ? /* Дане...

Как сделать задержку C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; double...

Как сделать задержку?
Почему после запуска программа сразу же закрывается? #include &lt;iostream&gt; #include &lt;locale.h&gt;...

Как сделать задержку ?
При наведении на элемент , появляется окно, но как только я отвожу курсор , окно пропадает , как...

4
Администратор
83618 / 52196 / 244
Регистрация: 10.04.2006
Сообщений: 13,426
02.08.2010, 20:36 2
Используйте метод Sleep() потока.
0
5 / 5 / 4
Регистрация: 06.05.2010
Сообщений: 180
02.08.2010, 22:26 3
А еще есть System.Threading.Timer
0
8 / 8 / 1
Регистрация: 20.07.2010
Сообщений: 22
03.08.2010, 14:58 4
Цитата Сообщение от mik-a-el Посмотреть сообщение
Используйте метод Sleep() потока.
Согласен. Такой код показывает на слабеньком проце загрузку 0%.
C#
1
2
3
4
while (true)
{
        Thread.Sleep(100);
}
0
46 / 46 / 3
Регистрация: 04.02.2011
Сообщений: 199
22.08.2011, 08:47 5
Спасибо. Мне тоже помогло.
 Комментарий модератора 
Если какой-либо пост на форуме показался вам полезным, нажмите кнопку "Спасибо" внизу самого поста.(Правила п.4.5)
0
22.08.2011, 08:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2011, 08:47
Помогаю со студенческими работами здесь

Как сделать задержку 1 ms ?
Частота cpu= 41 780 000 Hz. В сети нашел следующий код: long volatile a=def_msec*ms;...

Как в C# сделать задержку
Короче надо чтоб через какое то время сработал код. transform.localScale += new Vector3 (0.0f,...

Как сделать задержку?
package sevak_avet; import java.util.Calendar; import java.util.GregorianCalendar; import...

Как сделать задержку в n секунд?
привет! Есть вот такой чек бокс в котором есть возможность установить время задержки между...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru