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

Вниз

Доступ к данным на чтение из разных потоков   Найти похожие ветки 

 
TThread   (2010-09-14 12:48) [0]

У меня есть менеджер потоков, который в своем конструкторе загружает из вне некоторые параметры. В дальнейшем создаются потоки. Можно ли в потоке читать параметры из менеджера без использования критической секции?

Что-то вроде:
TOptions = record
 s: string;
 i: Integer;
 sl: TStringList;
end;


private
 FOptions: TOptions;
public
 property Options: TOptions read FOptions;


Или обязательно надо делать так:
private
 FOptions: TOptions;
 function GetOptions: TOptions;
public
 property Options: TOptions read GetOptions;
...
function TMyManager.GetOptions: TOptions;
begin
 CS.Enter;
 try
   Result := FOptions;
 finally
   CS.Leave;
 end;
end;


 
DVM ©   (2010-09-14 12:55) [1]


> Можно ли в потоке читать параметры из менеджера без использования
> критической секции?

Если данные никто менять не будет - читай на здоровье.


 
DVM ©   (2010-09-14 12:57) [2]

Но к методам и свойствам TStringList надо очень внимательно присмотреться, если обращение к ним вызывает изменение каких то внутренних полей, то тогда обращаться нельзя.


 
Юрий Зотов ©   (2010-09-14 12:57) [3]

Читать - можно. Данные же при чтении не меняются, поэтому один поток не сможет повлиять на другой.

Но если во время работы потоков любому из них (или самому менеджеру) потребуется эти данные изменить, то будет нужна синхронизация


 
Nucer   (2010-09-14 13:05) [4]

А со строками никаких проблем быть не может (счетчик ссылок)?



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

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

Наверх




Память: 0.47 MB
Время: 0.007 c
2-1284447582
ZV
2010-09-14 10:59
2010.12.05
Замерять время выполнения процедуры в мс.


2-1284365809
zmxncbv
2010-09-13 12:16
2010.12.05
Модальные формы


15-1282842079
alien1769
2010-08-26 21:01
2010.12.05
Радостное событие


2-1284533006
Nurjanov
2010-09-15 10:43
2010.12.05
Отчет в Excel по шаблону


15-1282654644
Baks
2010-08-24 16:57
2010.12.05
Как можно передать параметр-строку на кириллице в PHP скрипт?