Сообщение от
ChymeNik
По мне гораздо легче использовать BeginThread/EndThread/EnterCrititcalSection/LeaveCriticalSection!
Зачем такие заморочки с этими тяжелыми обертками?
Чем они тяжелы тем что не заставляют каждый раз одно и тоже писать??
Ну и когда захотеться оптимизировать свою работы, создать класс для работы с потоками под. специфические задачи легче унаследоваца от TThread чем пелить велосипед и отлаживать его.
TThread это прежде всего абстракция над апи потоками дабы программист думал как реализовать функции которые будут в потоке а не как их запилить.
Ну и разработка с TThread быстрее осуществляются и по качеству апи потокам не уступает.
К томуже кучу классов готовых придумали дабы сэкономить наше время.
А где CloseHandle(thread)?
Уу все утечка хэндлов....
На мдсне не нашел строчек о том что TerminateThread хэндл закрывает..
Код:
procedure ProcedureForAllThreads();
begin
EnterCriticalSection(CS);
//Тут располагаем код, который должен выполняться только в одном потоке
LeaveCriticalSection(CS);
end;
А убивать через TerminateThread нужно только в крайних случаях, не советуйте плохого)
Лучше через ExitThread();