Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Критическая секция


Страницы:   1 2

Res ©   (2008-05-03 20:48:00) 

Здравствуйте еще раз ) У меня проблема с критической секцией, что она есть что ее нет...
procedure url(page:string);
begin
......
           EnterCriticalSection(StringSection);
           if(Pos(url+',',urls)>0) then
           begin
             LeaveCriticalSection(StringSection);
             continue;
           end;
           urls:=urls+url+',';
           LeaveCriticalSection(StringSection);
......

Одновременно добавляют 4 потока...
procedure thread(str:string);
begin
....
   url(pg);
....
end;

Запускаю потоки:

...
BeginThread(nil,0,Addr(Thread),PCHar(turl),0,id1);
sleep(100);
...


Res   (2008-05-03 21:16:00) [21]

Дело в том что
           if(Pos(url+',',urls)>0) then
          begin
            LeaveCriticalSection(StringSection);
            continue;
          end;

Вот это проверка, что она есть, что ее нет, все равно дубликаты появляются....


DrPass   (2008-05-03 21:09:00) [22]

А что у тебя не так?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо