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

Вниз

межпоточная защита данных   Найти похожие ветки 

 
lord827   (2012-04-14 16:08) [0]

всем привет народ подскажите правильно ли я делаю
меж поточную защиту данных . компилятор XE2
есть массив рекордов
type Taction = record .....
araction:array of Taction;
он общий для нескольких потоков. при создании потока поток плучает номер итема из массива araction
а в асамом потоке уже идет обработка данных

procedure TMainThread.Execute;
var tempaction:Taction;
begin
// чтоб побыстрее освободить основной массив
  работаем через tempaction
  FEvent.waitfor(infinite);
  FEvent.ResetEvent;
  tempaction:=araction[n];
  FEvent.SetEvent;

  здесь основная работа над итемом массива но уже через tempaction
end;

я пробовал вообще без синхронизации
гонял  порядка 500 потоков натравленных на один и тодже итем массива
но так ни разу и не получил кривых данных(кашу), ошибку доступа к памяти , или хоть какой зависон . смутно припоминаю но на дельфи 6
если не сихронизироватся то гемор начинался с первой секунды.

если кривовато изложил суть, пишите, поправлю.


 
sniknik ©   (2012-04-14 16:24) [1]

> если кривовато изложил суть, пишите, поправлю.
так же как тут?

http://delphimaster.net/view/1-1333197347/

Дмитрий Белькевич   (05.04.12 22:02) [26]
>удалось мне полностью перехват установить, теперь и при создании файлов виндой, все перехватывается

рассказал бы хоть народу как...


 
lord827   (2012-04-14 16:32) [2]

рассказал бы хоть народу как...  чтоб у касперского работы прибавилось ...))


 
Anatoly Podgoretsky ©   (2012-04-14 18:01) [3]

> lord827  (14.04.2012 16:08:00)  [0]

Taction у каждого потока свой, откуда могут быть проблемы, данные не
пересекаются


 
lord827   (2012-04-14 19:21) [4]

type Taction = record .....
araction:array of Taction;
объявлен не внутри потоков

у каждого потока свой  
tempaction:Taction;

я ожидал гемор при присвоении
tempaction:=araction[n];


 
Сергей М. ©   (2012-04-14 20:57) [5]


> я ожидал гемор при присвоении
> tempaction:=araction[n];


"гемор" начинается с момента когда требуется обратное присвоение, т.е.

araction[n] := tempaction;

а если его нигде нет , то поход за свечками можно на время отложить)


 
sniknik ©   (2012-04-14 21:37) [6]

очень странно,
Великий защитник Касперского, и победитель Системы... не знает простых вещей.


 
lord827   (2012-04-14 22:00) [7]

точно, именно обратное присвоение araction[n] := tempaction; причина хаоса если без синхронизации

немного отступим от темы

да это материал первого клоса,
вот только обидно что лет через 10
знания из первого класса вообще небудут востребованы
и все проги будут писатся банальным перемещением мышки

а наличие клавиатуры на компе программиста будут обсуждать
как сечас обсуждают безусловные переходы типа goto


 
Сергей М. ©   (2012-04-14 22:29) [8]


> lord827   (14.04.12 22:00) [7]


> обидно что лет через 10
> знания из первого класса вообще небудут востребованы


Через 10 это вряд ли случится)

Технологии хоть и шагают семимильными шагами, но до изобретения ИИ, который позволит компьютерам программировать самих себя, еще ой как далеко.

А до тех пор пока это не случится кому-то таки придется делать это ручками)


 
Наивный   (2012-04-15 03:27) [9]

Да, квота на безусловные переходы типа goto закончатся уже под занавес 2012, а лимиты на клавиатуры на компе программиста еще не ищерпаны, поэтому сей знаменательный день нужно подождать.



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

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

Наверх




Память: 0.49 MB
Время: 0.143 c
15-1332713589
-111-
2012-03-26 02:13
2013.03.22
office starter 2010


15-1346305970
ZeroDivide
2012-08-30 09:52
2013.03.22
Современный смартфон с долгой батарейкой. Есть такие?


2-1345708838
Molchanov
2012-08-23 12:00
2013.03.22
Высокоскоростной обмен с аппаратурой


2-1336578971
мтк
2012-05-09 19:56
2013.03.22
SetOrdProp и составное свойтво


15-1337598756
p
2012-05-21 15:12
2013.03.22
Сертификат Verisign