![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте
Есть несколько потоков со своими HTTP: TidHTTP Есть функция в отдельном модуле Код:
function HTTPGet (HTTP: TidHTTP; url: string): string; begin ... try Result: = http.Get (url); except on E: Exception do ... end; ... end; Безопасно ли выполнять эту функцию из потоков. Если нет, то почему? Последний раз редактировалось vanam, 11.01.2016 в 01:28. |
|
#2
|
||||
|
||||
|
Да.
________________ |
|
#3
|
|||
|
|||
|
Цитата:
модуль-поток Код:
unit unitHreadCategory;
type
THreadCategory = class(TThread)
private
HTTP:TIdHTTP;
…
uses lib4parse;
…
procedure THreadCategory.Execute;
begin
…
HTTP:=HTTPCreate();
HTTPGet(HTTP,url);
…
end;модуль 2 Код:
unit lib4parse; … function HTTPGet (HTTP: TidHTTP; url: string): string; begin ... try Result: = http.Get (url); except on E: Exception do ... end; ... end; при одном потоке все прекрасно работает при нескольких потоках - потоки зависают на HTTPGet |