Короткая справка о Thread писал(а):
onExec - все компоненты, идущие после этого метода вынолняются в отдельном потоке, т.е. параллельно с основным процессом и другими потоками в программе(если такие есть). Благодаря этому появляется ряд особенностей, о которых нужно помнить при использование потоков в своей программе:
Не рекомендуется изменять внешний вид интерфейсных элементов из схемы, стоящей после метода doExec. Связано это с тем, что все управление визуальными компонентами происходит с помощью асинхронной посылки всевозможных сообщений элементу. Т.е. шевельнули мы мышкой и Windows уже шлет окну или отдельному элементу сообщение о перемещение мыши с её новыми координатами. Этот механизм иногда нарушается при одновременном манипулирование одним и тем же элементом из основного процесса и из потока. Проявляется это нарушение начиная от неверной прорисовки до аварийного завершения программы.
Стоит аккуратно изменять данные внутри программы, к которым имеет доступ часть схемы, выполняемая в основном процессе и в потоке.
Любое циклическое использование потока без внутренней задержки(т.е. Delay=0) приведет к полной загрузке процессора, если основной процесс не занят работой. Связано это с тем, что внутри потока при ненулевой задержки происходит вызов специального метода, который на заданное количество милисекунд полностью останавливает выполнение текущего потока, усыпляет его, и процессор отдыхает в это время.
onSyncExec - это событие происходит сразу после события onExec и используется обычно для обновления информации на форме в синхронном режиме. Если коротко, то вызов этого метода заставляет поток приостановить свое выполнение и подождать, пока форма обработает все сообщения Windows, о которых говорится выше. Затем основной процесс так же прерывается на время выполнения всей схемы, идущей после метода. После этого выполнение основного процесса и потока возобновляется. Исходя из описанной логики работы этого метода, стоит отметить, что выполнение большого количества элементов или слишком частое обращение к элементам формы сведет на нет весь выигрыш от использования потоков.
------------ Дoбавленo в 14.00:
А не проще ли сделать форму, на которой будут все "читы" и галочки, использовать чит или нет(или по горячей клавише). Тогда не будет двух процессов, загружающих процессор