Показать сообщение отдельно

  #13  
Старый 31.03.2012, 14:25
mironich
Постоянный
Регистрация: 27.02.2011
Сообщений: 733
С нами: 8003126

Репутация: 19


По умолчанию

Цитата:
Сообщение от ChymeNik  
По мне гораздо легче использовать BeginThread/EndThread/EnterCrititcalSection/LeaveCriticalSection!
Зачем такие заморочки с этими тяжелыми обертками?
Чем они тяжелы тем что не заставляют каждый раз одно и тоже писать??

Ну и когда захотеться оптимизировать свою работы, создать класс для работы с потоками под. специфические задачи легче унаследоваца от TThread чем пелить велосипед и отлаживать его.

TThread это прежде всего абстракция над апи потоками дабы программист думал как реализовать функции которые будут в потоке а не как их запилить.

Ну и разработка с TThread быстрее осуществляются и по качеству апи потокам не уступает.

К томуже кучу классов готовых придумали дабы сэкономить наше время.

А где CloseHandle(thread)?

Уу все утечка хэндлов....

На мдсне не нашел строчек о том что TerminateThread хэндл закрывает..

Код:
procedure ProcedureForAllThreads();
begin
EnterCriticalSection(CS);
//Тут располагаем код, который должен выполняться только в одном потоке
LeaveCriticalSection(CS);
end;
А убивать через TerminateThread нужно только в крайних случаях, не советуйте плохого)

Лучше через ExitThread();
 
Ответить с цитированием