Показать сообщение отдельно
  #2  
Старый 24.10.2014, 06:19
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

С потоком будет не есть хорошо, немного теории
Цитата:
Сообщение от realcoding
...Наиболее простым в понимании является TCriticalSection или критическая секция. Код, расположенный в критической секции, может выполняться только одним потоком. В принципе код ни как не выделяется, а происходит обращение к коду через критическую секцию. В начале кода находится функция входа в секцию, а по завершению его выход из секции. Если секция занята другим потоком, то потоки ждут, пока критическая секция не освободится... Kритических секций может быть несколько. Поэтому при использовании нескольких функций, в которых могут быть конфликты по данным надо для каждой функции создавать свою критическую секцию. После окончания их использования, когда функции больше не будут вызываться, секции необходимо уничтожить методом free...
есть ещё мнение, что лучше загнать удаление в блок
Код:
...
try 

// здесь помещается "тяжёлый" код

finally 
 DeleteCriticalSection(CriticalSection);
end; 
...
Ответить с цитированием