В моем текущем проекте у меня есть структура вроде этого:создание DELPHI таймеров динамически во время выполнения (производительность, CPU потребляющий)
Main Thread (GUI):
->Parser Thread
->Healer Thread
->Scripts Thread
проблемы в том, что целитель & скрипты Тема должна создать childthreads с их нашими правилами таймера , это будет выглядеть следующим образом:
->Parser Thread
->Healer Thread:
-->Healer 1
-->Healer 2
--> (...)
->Scripts Thread:
-->Script 1
--> (...)
для этого я подумал о кодировании динамически таймер, который будет создан во время выполнения, когда добавляется новый Исцели/Script.
Теперь проблема/вопрос: Возможно, у меня есть 20 таймеров, запускаемых одновременно из-за этого, не будет ли это проблемой для моей производительности программы (потребление процессора и т. Д.)? Это лучший способ добиться того, что я ищу?
Заранее спасибо
20 таймеров не проблема. В качестве альтернативы вы можете создавать таймеры с функцией ['SetTimer'] (http://msdn.microsoft.com/cs-cz/library/windows/desktop/ms644906 (v = vs.85) .aspx) и иметь один обычный обработчик сообщения 'WM_TIMER'. Но подождите, где вы хотите иметь этих таймеров? В потоках? – TLama
Если вы уже знаете темы, почему вы беспокоитесь о таймерах? Поместите соответствующую нить (ы) в «Сон» и вуаля. – OnTheFly
@ user539484, так что я должен создать новый поток (ScriptsThreadChild) для управления дочерними элементами, созданными ScriptsThread? И если это правильно, могу ли я запустить этот ScriptsThreadChild.execute() столько раз, сколько необходимо? например, если дочерние потоки будут выполняться в параллельном порядке под одним и тем же ScriptThreadChild.pas – user2308704