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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.