PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
9698 99/12/27 14:11:23 RE(5):PB6.5: 分散アプリ:リモートオブジェクトが破棄されないケース By Taka
9683 99/12/22 23:03:53 RE(4):PB6.5: 分散アプリ:リモートオブジェクトが破棄されないケース By Taka
9682 99/12/22 19:50:09 RE(3):PB6.5: 分散アプリのリモートオブジェクトで共有変数が使えない By M.M
9681 99/12/22 19:15:32 RE(2):PB6.5: 分散アプリのリモートオブジェクトで共有変数が使えない By Taka
9678 99/12/22 17:36:37 RE(1):PB6.5: 分散アプリのリモートオブジェクトで共有変数が使えない By M.M
9676 99/12/22 17:00:48 PB6.5: 分散アプリのリモートオブジェクトで共有変数が使えない By Taka

カテゴリ:ユーザオブジェクト
日付:1999年12月22日 19:15 発信者:Taka
題名:RE(2):PB6.5: 分散アプリのリモートオブジェクトで共有変数が使えない

M.Mさん、こんばんは。

>ここで共有変数の話しに戻りますが、理論的には複数のスレッドでメモりを共有することは
>可能です。ただし、その場合スレッド間の独立性が低くなり、極端な例をあげるとAスレッド
>が何らかの原因でハングした場合、連動して別のBスレッドもハングしてしまうといった
>現象が発生する可能性があります。

理論的には可能でも、PowerBuilderが「どう動かしているか」が問題でして...

>推測ですが、安定性を重視する目的で、共有変数が本来の意味で使えなくなっているように
>思われます。サーバ側アプリでグローバル変数が使用できないのも同様の理由であると考え
>られます。

はたして本当にそうなのでしょうか。
PBのグローバル変数,共有変数って、同一スレッド内でしか有効でない、という制約が根本に
あるようにも思えます。分散機能が使えるようになってもこの制約は崩せなかったから、
リモートオブジェクトからグローバルや共有変数が参照できないという結果になっている、
とは考えられませんか?


この問題は、「共有オブジェクト」の機能を使うことで回避できました。v(^o^
別のNVOを、サーバ内で SharedObjectRegister関数によりインスタンス化すると、
どのリモートオブジェクトからも、またメインスレッドからでも参照可能になります。
そのインスタンスへの参照は、SharedObjectGet関数により取得して使います。
破棄する際には、SharedObjectUnregister関数を使います。

という訳で、当初の目的は達成できました。お騒がせしました。


>#以下ゴミレス
> ふっふっふ、久しぶりにTakaさんに一矢報いたような気がします。

自己解決できたぶん、私の勝ちです。(笑)
(張り合うなつーの By てとらぽっと)

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.