![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Господа, я с глупым вопросом.
В чем отличия работы таймера и потока в цикле которого есть засыпалка на столько же секунд что и у таймера? Код:
Вот даже пример приведу: На сервак хочу поставить прогу которая следит за подключениями, получает список файлов удаленно открытых (а точнее тех которые удаленно сохраняются на сервак) и если расширение этого файла скажем AVI то рубит подключение. Что предпочтительнее в данном случае? Кстати как бы вы реализовали такую задачу и не повредит ли обрабывание подключения во время записи файла на комп самому компу (т.е. фаловой системе. винде...)?
I'm learning to live...
|
![]() |
![]() |
![]() |
#2 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
в лучае с потоком нужна ещё и синхронизация! в данном случае может и не нужна, но при написании более сложных вещей, нужна. И по-моему, лучше всего использовать таймер, так как в случае с потоком будет создан люъект ядра поток, будет выделена память под его стек и много другого.
В твоей задаче я бы тоже использовал таймер (хотя может есть и другие способы). Последний раз редактировалось rpy3uH; 30.07.2008 в 10:46. |
![]() |
![]() |
![]() |
#3 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 30.07.2008
Сообщений: 14
|
![]()
Отличия в том, что в случае использования таймера, система отправляет указанному в вызове хендлу сообщения WM_TIMER через указанную паузу. То есть, в данном примере требуется добавить обработчик такого сообщения. Такой подход позволяет реализовать неблокирующее ожидание, то есть, дожидаясь события таймера, поток может заниматься другой полезной работой.
В случае использования Sleep(), поток, из которого делается вызов, приостанавливается системой на указанный интервал. Это значит, что никакой пользы он в это время не приносит. А если это главный поток приложения (дельфи), то и отрисовки интерфейса в это время не происходит. Тем не менее, это самый простой способ обеспечить паузу. Для решения Вашей задачи больше подходит вариант с таймером, хотя действительно, больше смысла в ожидании обновления файловой системы с помощью FindFirstChangeNotification. |
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]() |
![]() |
![]() |
![]() |
#6 | ||||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
Я понимаю что это найприемлемое, будь сервак на Линухе давно бы уже переподправил ядро, но это винда... ну никак не хоцца ее портить...
I'm learning to live...
|
||||
![]() |
![]() |
![]() |
#7 | ||
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#9 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]() |
![]() |
![]() |
![]() |
#10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Да в принципе не надо, этой статейки хватит...
Кстати было б просто идеально достать где-то фаервол позволяющий контролировать запись файлов на комп...
I'm learning to live...
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Отличия Windows и Linux | Altera | Операционные системы общие вопросы | 5 | 08.07.2008 20:27 |
обновление в блоге - 11 способов вставить цитату на сайт | Pblog | Обсуждение статей | 0 | 07.02.2008 21:30 |
Использование различных способов организации данных | tosnopunker | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 23.12.2007 15:31 |