tthread delphi



Автор Дмитрий Золотарев задал вопрос в разделе Другие языки и технологии

Delphi, TThread: CriticalSection и Synchronize и получил лучший ответ

Ответ от Scorpio[гуру]
>> TheCalcThread.ConstructPriv(IDRes, IDPer, IDTrans, IDReason);
имхо, это плохая практика вызывать методы класса потока из другого потока. Лучше использование потока ограничить только вызовом методом Execute. А если нужно изменить поведение выполнения потока, тогда лучше в классе потока завести какие-нибудь флаги, а в методе Execute проверять установлен флаг или нет.
На счет зависания, ты из главного потока вызываешь TheCalcThread.ConstructPriv, и скорее всего доступ к этой секции все еще залочен той-же секцией в TCalcThread.Execute. Попробуй завести для каждого участка кода разные крит. секции.
Scorpio
Просветленный
(24134)
Судя из описания у тебя там сложная логика, я по правде ничего не понял про ресурсы и про их зависимости 🙂

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Delphi, TThread: CriticalSection и Synchronize
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*