Форум: "Потрепаться";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
ВнизНужна критика кода-) Найти похожие ветки
← →
Digitman © (2004-11-16 14:42) [80]ну здрасть-приехали !
а это что
function TSafeArray.GetItem(const Index: Integer): Pointer;
begin
Lock;
Result := FArray[Index];
Unlock;
end;
?
← →
panov © (2004-11-16 14:43) [81]>Digitman © (16.11.04 14:11) [77]
опять же и TSafeArray это касаемо ...
не вижу резона вводить thread-safe-дин.массив вместо стандартного TThreadList .. к тому же бесконечные реаллокации памяти при операциях с дин.массивом ощутимо повлияют на общую производительность алгоритма..
В динамическом массиве(в пуле) каждый элемент создается один раз и живет до завершения работы пула.
← →
panov © (2004-11-16 14:44) [82]Digitman © (16.11.04 14:42) [80]
Точно.
Хотя я считал эту операцию все-таки безопасной. Но вглядевшись, вижу, что в данном контексте это не так-)
← →
Digitman © (2004-11-16 14:45) [83]
> не нравится мне этот класс, к сожалению
ну на нет и суда нет... хоть, imho, и напрасно
← →
Digitman © (2004-11-16 14:49) [84]
> panov © (16.11.04 14:43) [81]
> В динамическом массиве(в пуле) каждый элемент создается
> один раз и живет до завершения работы пула.
да неважно вдан.случае, кто, когда и сколько живет ..
важно что операции с дин.массивом по эффективности уступают аналогичным по логике операциям со списком-наследником TList
← →
panov © (2004-11-16 14:58) [85]Digitman © (16.11.04 14:49) [84]
Подумаю о замене массива на TThreadList
← →
Владислав © (2004-11-16 14:59) [86]ИМХО, много ненужного.
← →
panov © (2004-11-16 15:00) [87]Для Unlock сделал безусловное выполнение.
← →
panov © (2004-11-16 15:10) [88]>Владислав © (16.11.04 14:59) [86]
> ИМХО, много ненужного.
?
← →
Владислав © (2004-11-16 16:30) [89]Александр, я же бросал в Вашу ветку пул потоков.
Я без претензий на истину в последней инстанции, конечно, но его можно легко адаптировать и под Вашу задачу.
Страницы: 1 2 3 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
Память: 0.61 MB
Время: 0.043 c