Re[8]: Известить процесс, запущенный под любым сеансом и акк
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 19.05.18 17:08
Оценка:
Здравствуйте, ononim, Вы писали:

O>Таймер будит CPU периодически. Побудка CPU — это жор батареи лаптопа. Я конечно ожидаю контраргумента "да я по чуть-чуть, и только раз в полсекунды"


CPU в первую очередь будит системный таймер, минимум 18 раз в секунду.

O>но таких вот с десяток наберется, а потом батарея на час меньше держит.


На час меньше — это с двухсот часов номинальных? Я Вас умоляю — в винде столько собственной фоновой активности, что какой-то вшивый таймер, даже сто раз в секунду, на ее фоне совершенно незаметен. У меня есть приложения, увеличивающие разрешение системного таймера до 500 мкс, и с такой же частотой получающие события от CreateWaitableTimer — они даже полпроцента загрузки не создают.

А теоретически согласен — лишний поток, вечно висящий в ожидании, занимает только память под дескрипторы, да крохи времени CPU при просмотре списков.

O>Юзер может быть бухгалтершей, работающей с 1Ской через RDP. И рядом в соседних сессиях — еще десяток таких же.


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

O>В остальных случаях не вижу причин для экслюзивности.


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

O>2) С т.з. безопасности: хакер может модифицировать ваше приложение или даже написать свое, и подключиться к драйверу параллельно с другим приложением.


Драйвер его банально не пустит — он поддерживает только одного клиента. А если городить взаимодействие клиентов через него, то нужно будет сперва добавить поддержку нескольких, синхронизацию, дополнительные команды... Нет смысла.
Re[9]: Известить процесс, запущенный под любым сеансом и акк
От: ononim  
Дата: 19.05.18 17:15
Оценка:
O>>Таймер будит CPU периодически. Побудка CPU — это жор батареи лаптопа. Я конечно ожидаю контраргумента "да я по чуть-чуть, и только раз в полсекунды"
ЕМ>CPU в первую очередь будит системный таймер, минимум 18 раз в секунду.
Необязательно
Как много веселых ребят, и все делают велосипед...
Re[10]: Известить процесс, запущенный под любым сеансом и акк
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 20.05.18 02:56
Оценка:
Здравствуйте, ononim, Вы писали:

ЕМ>>CPU в первую очередь будит системный таймер, минимум 18 раз в секунду.


O>Необязательно


Вам приходилось видеть реальную пользовательскую винду, в которой это давало бы заметную экономию? Охотно допускаю, что в специально настроенной это возможно, но в мейнстримовой...
Re[2]: Известить процесс, запущенный под любым сеансом и аккаун
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 20.05.18 11:10
Оценка:
Здравствуйте, Carc, Вы писали:

C>Создаем этот самый эвент с минимальными правами доступа


Почему с минимальными, если там FILE_ALL_ACCESS? Для полного доступа проще указать null DACL. А если уж строить DACL, то логично дать доступ всем только на EVENT_MODIFY_STATE и SYNCHRONIZE.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.