Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Потокобезопасно ли использовать один экземпляр THTTPRIO в разных тредах? / 7 сообщений из 7, страница 1 из 1
26.09.2018, 15:48
    #39708569
Квейд
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потокобезопасно ли использовать один экземпляр THTTPRIO в разных тредах?
Между вызовом метода интерфейса IInvokable и рельной отправкой пакета сервису по сети происходит много подкапотной магии, связанной с реализацией SOAP-протокола в Delphi.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
////….
  SQLQueryServiceSoap = interface(IInvokable)
  ['{37602266-CFD9-C037-90AD-B4029EBEDABF}']
    function RunSQLQuery(const SQLQuery: string; const SessionId: string): Boolean; stdcall;
  end;
////….
var
  SQLQueryService: SQLQueryServiceSoap; 
  RIO: THTTPRIO;
begin
////…. 
  SQLQueryService := (RIO as SqlQueryServiceSoap);
////….



Есть ли подводные камни, если из двух разных потоков вызвать
Код: pascal
1.
SQLQueryService.RunSQLQuery('SELECT 1 FROM DUAL', '{09462F28-F59B-64DF-0BE8-6A22657716AE}')



When a movie is over, it's a black
...
Рейтинг: 0 / 0
26.09.2018, 16:19
    #39708602
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потокобезопасно ли использовать один экземпляр THTTPRIO в разных тредах?
лучше создавать и уничтожать в Execute
не забывая про coinitialize и couninitialize там же
...
Рейтинг: 0 / 0
26.09.2018, 16:28
    #39708620
Квейд
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потокобезопасно ли использовать один экземпляр THTTPRIO в разных тредах?
Tactical Nuclear Penguinлучше создавать и уничтожать в Execute
не забывая про coinitialize и couninitialize там же
Это да, но все же, если очень хочется глобальный THTTPRIO?
...
Рейтинг: 0 / 0
26.09.2018, 16:32
    #39708626
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потокобезопасно ли использовать один экземпляр THTTPRIO в разных тредах?
КвейдTactical Nuclear Penguinлучше создавать и уничтожать в Execute
не забывая про coinitialize и couninitialize там же
Это да, но все же, если очень хочется глобальный THTTPRIO?

не надо
вы уж определитесь - вам потоков или глобальный рио
...
Рейтинг: 0 / 0
26.09.2018, 16:41
    #39708637
Квейд
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потокобезопасно ли использовать один экземпляр THTTPRIO в разных тредах?
Tactical Nuclear Penguin,

Вопрос, заданный в сабже, подразумевает ответ либо "да", либо "нет", хотя я конечно благодарен за совет отпределиться :)
...
Рейтинг: 0 / 0
26.09.2018, 16:46
    #39708642
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потокобезопасно ли использовать один экземпляр THTTPRIO в разных тредах?
КвейдTactical Nuclear Penguin,

Вопрос, заданный в сабже, подразумевает ответ либо "да", либо "нет", хотя я конечно благодарен за совет отпределиться :)

в свое время я много искал по интернету по этому поводу и не видел ни одного ответа "да"
зато вопросов как у вас множество
по этому по-моему личному мнению "нет"
хотя я и не пробовал, честно
...
Рейтинг: 0 / 0
26.09.2018, 16:46
    #39708643
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потокобезопасно ли использовать один экземпляр THTTPRIO в разных тредах?
но пробовал приведенный мной выше способ
и он работает
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Потокобезопасно ли использовать один экземпляр THTTPRIO в разных тредах? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]