Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ wadman При создании таймера создается окно, Это просто TTimer так сделан, что на каждый тамер свое отдельное окно. Возможно, так сделано, чтобы не заботиться об уникальности id таймера. Интересно, что в самой процере SetTimer() можно не указывать дескриптор окна, но приэтом задать процедуру таймера. При этом, WM_TIMER будет обработан процедурой окна по умолчанию путем вызова этой процедуры таймера, то есть, нужно как-то дернуть диспетчеризацию сообщений текущего треда, чтобы процедура выстрелила, ну и, WM_TIMER таки должен быть отправлен из текущего треда. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 12:04 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
ъъъъъ можно не указывать дескриптор окна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 12:34 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
shalamyansky Но все равно, должен существовать некий сторонний поток, который флаг "timer X сработал" установит. Только оповещение основного потока о событии переместилось на чуть более ранний шаг. Этот "сторонник поток" называется "ядро" (либо "планировщик", либо "диспетчер ядра", либо "диспетчер"), кому как нравится. Когда речь идёт про контроль прошедшего времени, диспетчер ядра пробуждается каждый раз при срабатывании системного таймера и анализирует, кому какое событие нужно отправить (или установить флаг). В данном случае после установки флага диспетчер всё равно прервёт ожидание программы, которая висит на вызове PeekMessage в ожидании какого-нибудь события. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 12:42 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Корректнее будет фраза: "При создании объекта TTimer создается окно". Уточнять можно бесконечно долго, если не замечать сути беседы: не смотреть на название темы, не учитывать текст из цитаты и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 13:08 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
Во развели тут дискуссию! Окна, трэды. Таймер может и без окна работать. Дергать callback. Установите разрешение таймера в 0 мс и замерьте время срабатывания. Тогда будет понятно, что срабатывание таймера происходит при смене контекста ОСью. ОСь при планировании пробуждает в очередной раз поток. А есть ли у тебя таймеры? Есть. Время вышло? Вышло. Что у нас там: окно задано или колбэк? Окно - отправляем WM_TIMER Колбэк - передаем ему управление. Всё просто. Никакой магии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 13:45 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
09.07.2021 13:45, Barmaley57 пишет: > Всё просто. Никакой магии. Ухнаагийн Хурэлсух! зы: новый президент Монголии Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 13:47 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
Barmaley57 Колбэк - передаем ему управление. Да шиш там. Все также WM_TIMER, только не туда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 13:49 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
Barmaley57Тогда будет понятно, что срабатывание таймера происходит при смене контекста ОСью. То есть ты утверждаешь, что квант времени в Windows 18.5 миллисекунд, поскольку именно таков квант таймера... Ню-ню... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 13:51 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
ъъъъъ Barmaley57 Колбэк - передаем ему управление. Да шиш там. Все также WM_TIMER, только не туда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 13:59 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Barmaley57Тогда будет понятно, что срабатывание таймера происходит при смене контекста ОСью. То есть ты утверждаешь, что квант времени в Windows 18.5 миллисекунд, поскольку именно таков квант таймера... Ню-ню... Я не могу ничего сказать насчет того, как работает твой мозг. И почему в нем генерируются такие мысли. Увы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 14:00 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
Barmaley57 ъъъъъ пропущено... Да шиш там. Все также WM_TIMER, только не туда. Вот именно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 14:01 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
Barmaley57Я не могу ничего сказать насчет того, как работает твой мозг. И почему в нем генерируются такие мысли. Очевидно это потому, что ты нуб и не знаешь, что таймер в Windows ограничен вышеназванным периодом. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 14:15 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, пшолнах (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 14:23 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
Ок, начнём с вопроса попроще: есть ли вообще хоть какое-то основание подозревать ядро в участии в работе пользовательских таймеров? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 14:54 |
|
||
|
Создаёт TTimer свой поток или нет?
|
|||
|---|---|---|---|
|
#18+
Вот не поленился, посмотрел. Да, SetTimer - ставит пользовательский таймер. Обработка происходит либо в связке Get/Peek/message+DispatchMessage, либо вместо dispatch обрабатываем ручками WM_TIMER. Нет очереди - не работает таймер. В ядро уходит SetWaitableTimer. Но темы порождения/непорождения потоков это не меняет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 15:26 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40083000&tid=2037190]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
174ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 16ms |
| total: | 299ms |

| 0 / 0 |
