|
|
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov asutp2Ты видимо тоже не можешь привести работающий пример?) А ничего, что свой пример на несколько страниц раньше, я практически скопипастил с реально работающего проекта?.. дай ссылку на это сообщение, чтобы я ничего не перепутал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 20:46 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
asutp2 rgreat, так это же не сервис, а просто оконное приложение с доп потоком))) здесь как раз вопросов нет интересует реализация в сервисе Вместо TThread используешь TService. Остальное по аналогии. Там даже функции почти так же называются. И даже проще, ибо не надо городить свой конструктор с деструктором. У TService изначально события такие есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 20:48 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
asutp2 А вообще, если кто нибудь всё таки сподобится и выложит работающий кошерный код в рамках задачи ТС cptngrb Код: pascal 1. Dimitry Sibiryakov Если сервис работает и что-то делает, то потребление процессора это нормально. Если сервис ничего не делает, то его работа ждать внешних воздействий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 21:17 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
rgreat Гони код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 21:30 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
asutp2, Как уже ранее заметили - это не тот код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 21:32 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, если ты про мой пример, то я проверяю ошибки в группах потоков, где флаг это байт, 0-все хорошо, 1-плохо, в других потоках я просто присваиваю при критической ошибке флагу = 1, а в службе проверяю. в зависимости от ошибок, либо перезапускаю службу, либо перезапускаю пул потоков. в самом коде это выглядит примерно так Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 21:41 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
rgreat asutp2, Как уже ранее заметили - это не тот код. И вообще достаточно интересно - в текущей теме никто, кроме тебя не соизволил привести работающий код (и то твой код далеко не про сервис и далеко не полный, так ведь :-) ) А я должен написать полноценный метод, решающий все проблемы в отрисовке? ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 21:50 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
asutp2, Заметь ты это сам начал. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 21:51 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
asutp2 Bitmap.SetSize и т.д... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 21:59 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ asutp2 Bitmap.SetSize и т.д... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 22:06 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
cptngrb я проверяю ошибки в группах потоков, где флаг это байт, 0-все хорошо, 1-плохо, в других потоках я просто присваиваю при критической ошибке флагу = 1, Два события сервиса Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: pascal 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 22:24 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 23:04 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, это рабочий код или из нотепада? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 23:18 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
классс тема, вы чего курсовой делаете, одна тема на всю группу и кто лучше, у меня оба варианта сервиса уже третий день в тестировании. у обоих полет нормальный, не нашел критичных сбоев при разрывах. пока работа идет дальше, расширяются задания сервисов и тут же тестируются, судя по тексту, многие готовы инвестировать свое время для обсуждения решений, при том читаю, почти одно и тоже в обоих стаканах, Thread или Sleep в цикле. я все прочитал, реально круто, реально все очень много знают, но к сожалению создают не все и реально в "каки" прыгают не все, т.е. с заказчиками ни как, но и даже они тоже молодцы. вот думаю, чтобы еще такого подкинуть, что у меня под вопросом времени лежит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 23:21 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
Zelius это рабочий код или из нотепада? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 23:27 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Zelius это рабочий код или из нотепада? еd убрать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 23:30 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
YuRock TM_TERMINATE: Terminated; еd убрать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2021, 23:32 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Прямо здесь писал с выдержками из реальных проектов. В чем-то проблема? Если сразу после создания отправить потоку сообщение, он выдаст ошибку. Т.к. цикл выборки создается после первого PeekMessage тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2021, 10:06 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Код: pascal 1. почему не так? Код: pascal 1. или Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2021, 10:29 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
Uridian почему не так? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Fr0sT-Brutal Если сразу после создания отправить потоку сообщение, он выдаст ошибку Fr0sT-Brutal Т.к. цикл выборки создается после первого PeekMessage У меня это делается так Код: pascal 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2021, 11:41 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
Вставлю свои 5 копеек насчёт использования Sleep. Я считаю, что плох не сам факт использования Sleep(10 / 100 / 1000), а непонимание многими программистами того, к каким проблемам он приводит. В штатном менеджере памяти ожидание блокировки блока выполняется через Sleep(1), что убивает масштабируемость многопоточного приложения. Важно знать, что Sleep(1) в менеджере памяти - это плохо, но практически в любой нашей программе он есть. Причем в данном случае плох Sleep(1) не тем, что приводит в увеличению счётчика переключения контекста (это ерунда), а тем, что в реальности Sleep(1) обычно длится 16 мс. Да и 1 миллисекунда - это жутко долго для менеджера памяти. Если ожидание реализовано не через Sleep, а через объект ядра, то при переходе объекта ядра в сигнальное состояние функция WaitForXXX завершается намного быстрее, чем Sleep(1). Работа ждущего потока возобновляется за время от 5 до 50 микросекунд. Но при этом нужно понимать, что во многих задачах не требуется организации ожидания какого-то события с точностью до микросекунды. Тогда Sleep(10 / 100) вполне может быть подходящим вариантом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2021, 12:46 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
Я так скажу: тот, кто использует WaitForXXX - заводит будильник. Тот, кто использует Sleep - просыпается каждую минуту чтобы посмотреть на часы. Это вопрос личных привычек, конечно, но по-моему, первый выспится лучше. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2021, 13:51 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
DmSer Если ожидание реализовано не через Sleep, а через объект ядра, то при переходе объекта ядра в сигнальное состояние функция WaitForXXX завершается намного быстрее, чем Sleep(1). Работа ждущего потока возобновляется за время от 5 до 50 микросекунд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2021, 14:21 |
|
||
|
пустой Service кушает до 15% ресурсов CPU
|
|||
|---|---|---|---|
|
#18+
Barmaley57 DmSer Если ожидание реализовано не через Sleep, а через объект ядра, то при переходе объекта ядра в сигнальное состояние функция WaitForXXX завершается намного быстрее, чем Sleep(1). Работа ждущего потока возобновляется за время от 5 до 50 микросекунд. Я в прошлом году этому вопросу уделил очень много времени (во время написания статьи по многопоточному программированию). Поэтому я точно знаю, о чем пишу. "Квант времени в планировщике" - это вообще не в тему! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2021, 14:56 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40054365&tid=2037492]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
89ms |
get tp. blocked users: |
2ms |
| others: | 201ms |
| total: | 516ms |

| 0 / 0 |
