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