Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.15;
Скачать: CL | DM;

Вниз

LoadFromFile   Найти похожие ветки 

 
TUser ©   (2004-07-29 13:01) [0]

Является ли TStringList потоко-безопасным. Я с ним работаю в потоке, почти все нормально, но иногда (не всегда, только иноогда) поток падает. Сейчас протрассировал - падает вроде на LoadFromFile. Надо ли защищаться синхронайзом, если надо, то являются ли безопасными остальные методы этого класса?


 
Sun bittern ©   (2004-07-29 13:07) [1]

А может всетаки перед LoadFromFile. То что падает из-за LoadFromFile меня терзают смутные сомненья


 
Morphin   (2004-07-29 13:11) [2]

2 TUser ©  

нужно синхронизировать если он находится в главном (общем) модуле и к нему имеют доступ  несколько потоков !!!! а если он создан и модуле дочернего потока и используется только там - то не нужно.


 
TUser ©   (2004-07-29 13:23) [3]

Он создан в отдельном модуле, как свойство потомка от TThread. Кроме этого класса нигде не используется. Возможно, действительно, не в этом дело.


 
panov ©   (2004-07-29 14:08) [4]

>TUser ©   (29.07.04 13:01)

Защищать переменные, с которыми работает некий поток нужно в том случае, если к ним обращаются несколько потоков.
Если переменные используются только потоком-владельцем, то синхронизация не нужна.

В данном случае используется загрузка файла, поэтому в потоке нужно обрабатывать ошибку в случае проблем с доступом к файлу, например, блоке try...except...end

>Morphin   (29.07.04 13:11) [2]

...нужно синхронизировать если он находится в главном (общем) модуле...

См. поправочку выше.
Синхронизация нужна для любого потока.



Страницы: 1 вся ветка

Текущий архив: 2004.08.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
14-1090568050
Pr0GrAmmer32WinAPI
2004-07-23 11:34
2004.08.15
IE, POST запрос на чистом API


1-1091198512
Antonmm
2004-07-30 18:41
2004.08.15
Новый каталог


4-1089113470
Steve
2004-07-06 15:31
2004.08.15
Как запустить exe шник


1-1091019935
GrigP
2004-07-28 17:05
2004.08.15
При запуске проекта появляется окно CPU


4-1088665209
Cara
2004-07-01 11:00
2004.08.15
Как нажать кнопку и получить текст. Пример