![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Многопотоковый корба-клиент (Visibroker)
Олег Лаукарт © (2002-05-16 10:11:00)Есть ли разница для корба-клиента из какого потока он подключается к корба-объекту? Нужно ли делать какие-либо действия кроме CorbaInitialize?
P.S.Этот вопрос есть продолжение моих попыток разобраться с падениями программ, написанных на Д6+Визиброкер.
pvnic (2002-11-06 13:22:00) [1]насколько я помню нужно задавать cоотв. poplicys
Олег Лаукарт (2002-06-20 10:50:00) [2]Насколько я понял из написанного в хелпе, для тонкой настройки VisiBroker надо задавать опции. Про это мимоходом говорили и представители Борланд на семинаре в Киеве. Перечень возможных опций дан в файле vbc.properties (порядка 200), но разобраться очень сложно. Хотелось бы услышать человеческим языком, про то как всем этим пользоваться.
_Antiox_ (2002-06-17 11:38:00) [3]>Олег Лаукарт © (14.06.02 19:22):
Действительно, я имел ввиду Visibroker 3.3
С более поздними версиями я не встречался.
А что по этому поводу (про потоковую модель) написанно в help-е по Visibroker 4.1?
Олег Лаукарт (2002-06-17 09:39:00) [4]To GOOFFY:если можно,расшифруйте пожалуста...
GOOFFY (2002-06-16 09:47:00) [5]Удалено модератором
Олег Лаукарт (2002-06-14 19:22:00) [6]в нашем разговоре вышло недоразумение, я говорю о Visibroker4.1, а вы _Antiox_ о 3.3. В версии 3.3, сделанной через СОМ, действительно была возможность управлять потоковой моделью, а вот как это делается в Visibroker4.1?
_Antiox_ (2002-06-14 12:47:00) [7]При использовании мастера CORBA-объектов (CORBA Object Wizard) Вы в третьей строке окна мастера выбираете Threading Model: либо Single-Threaded либо Multithreaded.
Олег Лаукарт (2002-06-11 20:49:00) [8]Спасибо.
Другой вопрос: как в Делфи поменять используемую потоковую модель?
_Antiox_ (2002-06-11 13:42:00) [9]Наверное, я немного некорректно выразился.
Дело всё в том, что несмотря на то, что каждое соединение клиента будет создавать вызовы в потоке, выделенном для данного клиента, объекты могут получать совпадающие по времени вызовы от нескольких потоков и именно поэтому приходится обеспечивать безопасность работы не только с глобальными данными, но и с данными экземпляров объектов.
Но, надо понимать, что выбирая Threading Model Вы просто просто указываете потоковую модель, которую будет поддерживать создаваемый объект, но вся ответственность за реализацию безопасности при работе с потоками ложится на Вас.
Олег Лаукарт (2002-06-10 15:57:00) [10]В документации написано, что по умолчанию используется Multithreaded модель, верно?
Я гдето в документации читал приведенный выше текст, но хотелось бы услышать расшифровку фразы:
"Т.е. Вам предётся обеспечивать безопасность не только при обращении к глобальным или общим данным, но и к самим экземплярам объектов.", а именно выделенного жирным.
_Antiox_ (2002-06-07 12:42:00) [11]Если имеется ввиду Single-threaded или Multithreaded модели потоков, то разнаца, конечно, имеется:
1). Single-threaded (Однопоточная модель): в этом случае каждый экземпляр объекта будет вызываться из одного(единственного) потока.
Соответственно, сам объект не нуждается в специальных мерах по обеспечению безопасности потока. Но, если Вы имеете несколько объектов или экземпляров одного объекта, то, естественно, Вам придётся самим обеспечивать безопасность при доступе к глобальным или sheared данными.
2). Multithreaded (Многопоточная модель): тут всё посложнее. Каждое соединение клиента создаёт вызовы в потоке, выделенном для данного клиента. Т.е. Вам предётся обеспечивать безопасность не только при обращении к глобальным или общим данным, но и к самим экземплярам объектов.