![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Критическая секция
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]А что у тебя не так?