Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Часы

1.9K
30 апреля 2008 года
burst
94 / / 04.09.2006
Ммм.. еще один ламерский вопрос...
Хочу сделать часы. И вот задумался о том, как сделать обновление времени, наиболее незагружающим способом, а то я сделал так: создал таймер,и каждую секунду делаю time = DateTime.Now и вывожу на экран. В итоге это грузит систему на 100%. Как сделать наиболее оптимальным способом по производительности ?
11
30 апреля 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: burst
Ммм.. еще один ламерский вопрос...
Хочу сделать часы. И вот задумался о том, как сделать обновление времени, наиболее незагружающим способом, а то я сделал так: создал таймер,и каждую секунду делаю time = DateTime.Now и вывожу на экран. В итоге это грузит систему на 100%. Как сделать наиболее оптимальным способом по производительности ?



в отдельный поток засунь:

 
Код:
DWORD WINAPI Timer (LPVOID)
{
   while (true)
   {
     Sleep(1000);
     time = DateTime.Now();
   }
}
87
30 апреля 2008 года
Kogrom
2.7K / / 02.02.2008
Цитата: oxotnik333
в отдельный поток засунь:



Зачем тут использовать поток? Использование таймера тут больше подходит. Не должна программа, которую описал вопрошающий грузить систему на 100%. Наверно, где-то ошибка в коде. Но так как кода автор не выложил, то трудно сказать где она.

11
30 апреля 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Kogrom
Зачем тут использовать поток? Использование таймера тут больше подходит. Не должна программа, которую описал вопрошающий грузить систему на 100%. Наверно, где-то ошибка в коде. Но так как кода автор не выложил, то трудно сказать где она.



был вопрос о наиболее незагружающем способе... мало ли че автор хочет в основную программу вкорячить, а таймер потом понадобится как просто бесплатное приложение к основной сути

87
30 апреля 2008 года
Kogrom
2.7K / / 02.02.2008
Цитата: oxotnik333
был вопрос о наиболее незагружающем способе...


Потоки нужны для распараллеливания работы программы. Это полезно, если необходимо, чтобы какие-то операции производились независимо. Однако, нагрузку на систему это увеличивает. Думаю, лучше все же использовать таймер.

5
30 апреля 2008 года
hardcase
4.5K / / 09.08.2005
А вы не заметили что автор на C# ваяет код?
Цитата: Kogrom
Думаю, лучше все же использовать таймер.


Только не тот таймер, что на форму кидается :) Лучше всего таймер, лежащий в System.Threading - он уже сам по себе в отдельном потоке работает. Правда для манипуляции с формой придется синхронизироваться с ней, но это как раз таки момент, который прибавит топикстартеру опыта.

87
30 апреля 2008 года
Kogrom
2.7K / / 02.02.2008
Цитата: hardcase
А вы не заметили что автор на C# ваяет код?



Да еще и .Net небось использует... Уже второй раз тут так попался... В C# и .Net не разбираюсь совсем, извините.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог