|
Проблема с таймером
|
|||
---|---|---|---|
#18+
Создаю таймер Код: c# 1. 2. 3. 4. 5.
и счетчик миллисекунд Код: c# 1. 2. 3. 4.
теперь каждую секунду я хочу выполнить действие Код: c# 1. 2. 3. 4. 5. 6. 7.
но я попадаю сюда timestamp = msecs + 1000; не каждую секунду а каждые 16 секунд. Есть более риалтаймовский таймер? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 09:13 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
jenya7Есть более риалтаймовский таймер?а есть более опытный программист? По твоему коду ничего непонятно. Ты в отдельном потоке цикл что ли гоняешь? Накладные расходы на переключение потоков учёл? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 09:58 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
Опять же, тип msecs неизвестен, но нужно делать доступ к ней потокобезопасным. Да и вообще, этот подход только в целях самообразования можно рассматривать, но не в реальном приложении ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 10:04 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
Shocker.ProОпять же, тип msecs неизвестен, но нужно делать доступ к ней потокобезопасным. Да и вообще, этот подход только в целях самообразования можно рассматривать, но не в реальном приложении так подскажите как сделать в реальном приложении. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 10:06 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
Shocker.Projenya7Есть более риалтаймовский таймер?а есть более опытный программист? По твоему коду ничего непонятно. Ты в отдельном потоке цикл что ли гоняешь? Накладные расходы на переключение потоков учёл? я обязан открыть поток. у меня несколько каналов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 10:08 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
Возможно, вы ошиблись? И попадаете в указанный вами код раз в 16 миллисекунд? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 10:37 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
дело в том, что 1 мс интервал будет работать, если на сервере есть железная поддержка. Я думал, что уже давно все современные компьютеры имеют такую поддержку, но мало ли ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 10:40 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
jenya7так подскажите как сделать в реальном приложении.Так ты же не описываешь задачу, как я подскажу? Если тебе нужно событие раз в секунду, то зачем таймер на одну миллисекунду? Если нужно смотреть время в цикле, то зачем таймер в принципе, что мешает просто сравнивать текущее время? Но крутить пустой цикл в ожидании наступления определенного времени, да еще и в несколько потоков - это феерический бред - просто обогревать комнату и тормозить комп. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 10:43 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
jenya7я обязан открыть поток. у меня несколько каналов.Тогда ты обязан знать, как работать с потоками, что такое безопасность потоков и т.п. Читай учебник, тут методом тыка не обойдешься. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 10:45 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
Shocker.ProЧитай учебник...хотя бы узнаешь о существовании Task.Delay() и как им пользоваться ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 10:47 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
Shocker.ProShocker.ProЧитай учебник...хотя бы узнаешь о существовании Task.Delay() и как им пользоваться я не могу тупо остановиться Task.Delay(). у меня есть массив мэйлбоксов (tx_can_msg). скажем три, первый мэйлбокс я посылаю каждые 200 мили, второй каждые 500 мили, третий каждые 1000. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 11:09 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
jenya7первый мэйлбокс я посылаю каждые 200 мили, второй каждые 500 мили, третий каждые 1000. Либо 3 таймера, либо один таймер по 100 миллисекунд ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 11:20 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
Arm79jenya7первый мэйлбокс я посылаю каждые 200 мили, второй каждые 500 мили, третий каждые 1000. Либо 3 таймера, либо один таймер по 100 миллисекунд у меня есть частота посылки 20 миллисекунд. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 11:23 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
jenya7Arm79пропущено... Либо 3 таймера, либо один таймер по 100 миллисекунд у меня есть частота посылки 20 миллисекунд. и почему три таймера? я сравниваю глобальный счетчик миллисекунд с периодом каждого мэйлбокса. в микроконтролере это прекрасно работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 11:25 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
Я напомню, что частота срабатывания таймера зависит от системных часов. То есть в принципе, если речь о таймере, нужно помнить, что на некоторых машинах он не будет срабатывать чаще раза в 16 мс. Далее, что мешает завести по таймеру на каждый мейлбокс? Точнее, на каждый нужный интервал отправки? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 11:31 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
Arm79Я напомню, что частота срабатывания таймера зависит от системных часов. То есть в принципе, если речь о таймере, нужно помнить, что на некоторых машинах он не будет срабатывать чаще раза в 16 мс. Далее, что мешает завести по таймеру на каждый мейлбокс? Точнее, на каждый нужный интервал отправки? ну допустим я заведу несколькро таймеров. как это улучшит резолюцию таймера? дот нет как мне кажется с риалтаймом плохо дружит. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 11:44 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
jenya7скажем три, первый мэйлбокс я посылаю каждые 200 мили, второй каждые 500 мили, третий каждые 1000.значит делай три таймера ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 11:44 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
jenya7, Windows вообще не реайл тайм ОС, поэтому рассчитывать на миллисекундную точность бессмысленно, какой бы язык мы не брали. Можно поизвращаться с Fiber, но явных плюсов я не вижу Заведите однопоточное приложение (или выделите один поток), назначьте через affinity на 1 процессор, внутри него цикл, который сам считывает время и определяет моменты старта. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 11:54 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
jenya7, Что за задача? Может вам атомные часы нужны? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 12:00 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
Petro123jenya7, Что за задача? Может вам атомные часы нужны? задача посылать данные скажем каждые 10 миллисекунд. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 12:23 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
jenya7задача посылать данные скажем каждые 10 миллисекунд.делать внешний управляемый микроконтроллер. Как сказали выше, под виндой такие приложения не делают. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 12:26 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
jenya7Petro123jenya7, Что за задача? Может вам атомные часы нужны? задача посылать данные скажем каждые 10 миллисекунд.еще выше на ранг. Зачем? Куда? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 12:38 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
Petro123jenya7пропущено... задача посылать данные скажем каждые 10 миллисекунд.еще выше на ранг. Зачем? Куда? в принципе минимально 20. но для стресс тест мне нужно 10. родная утилита умеет посылать даже каждые 5 мили. не знаю на чем ее писали. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 12:47 |
|
Проблема с таймером
|
|||
---|---|---|---|
#18+
так вроде работает Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2019, 12:58 |
|
|
start [/forum/topic.php?fid=20&msg=39797798&tid=1399010]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 261ms |
total: | 397ms |
0 / 0 |