Re: スレッド間の影響について
Jiro123
投稿数: 271
変数の有効範囲(スコープ)が関係していそうな気がします。
jBOLTがサポートする変数にも、有効範囲(スコープ)があります。
ヘルプには次のように書かれています。
○フロー変数
フロー変数の値はそれが定義されたフローのコンテキストにより決まります。
※注意(抜粋)
jBOLTでは、複数のフローが同じコンテキストを共有している場合(親子関係の場合など)、同じ名前を持つフロー変数は、別のフローで定義されていても区別されません。
○コンテキスト変数
コンテキスト変数は新しいコンテキスト(スレッド)が起動した時に作成されます。この変数はコンテキストが生きている間は、終了までに複数のフローをまたがった場合でも有効です。コンテキスト変数の定義はプロジェクト内の全てのフローに相続されています。この変数はプロジェクト内の全てのフローのために一度に定義されます。コンテキスト変数はフローロジックを管理するため、そしてプロジェクト内の全てのフローのコンポーネント間でデータをやり取りするために使用されます。
○BP変数(ビジネスプロセス変数)
ビジネスプロセスはビジネスプロセスのスコープで定義されています。ビジネスプロセス変数の定義はビジネスプロセス内の全てのフローで利用できます。ビジネスプロセス変数は一度定義すればビジネスプロセス内の全てのフローで使えます。フローで変更されたビジネスプロセス変数は同じビジネスプロセス内の全てのフローに影響を与えます。
BP変数のスコープはBP全体になっているので、スレッド間での影響を受けることになります。
最もクローズな変数は、フロー変数です。
ただし、同一コンテキストでは、同じ名前のフロー変数は同一とみなされるので(※注意を参照のこと)、フローの構成には注意が必要です。
jBOLTがサポートする変数にも、有効範囲(スコープ)があります。
ヘルプには次のように書かれています。
○フロー変数
フロー変数の値はそれが定義されたフローのコンテキストにより決まります。
※注意(抜粋)
jBOLTでは、複数のフローが同じコンテキストを共有している場合(親子関係の場合など)、同じ名前を持つフロー変数は、別のフローで定義されていても区別されません。
○コンテキスト変数
コンテキスト変数は新しいコンテキスト(スレッド)が起動した時に作成されます。この変数はコンテキストが生きている間は、終了までに複数のフローをまたがった場合でも有効です。コンテキスト変数の定義はプロジェクト内の全てのフローに相続されています。この変数はプロジェクト内の全てのフローのために一度に定義されます。コンテキスト変数はフローロジックを管理するため、そしてプロジェクト内の全てのフローのコンポーネント間でデータをやり取りするために使用されます。
○BP変数(ビジネスプロセス変数)
ビジネスプロセスはビジネスプロセスのスコープで定義されています。ビジネスプロセス変数の定義はビジネスプロセス内の全てのフローで利用できます。ビジネスプロセス変数は一度定義すればビジネスプロセス内の全てのフローで使えます。フローで変更されたビジネスプロセス変数は同じビジネスプロセス内の全てのフローに影響を与えます。
BP変数のスコープはBP全体になっているので、スレッド間での影響を受けることになります。
最もクローズな変数は、フロー変数です。
ただし、同一コンテキストでは、同じ名前のフロー変数は同一とみなされるので(※注意を参照のこと)、フローの構成には注意が必要です。
投票数:0
平均点:0.00
投稿ツリー
-
スレッド間の影響について
(takahashi, 2010-10-1 18:42)
- Re: スレッド間の影響について (Jiro123, 2010-10-4 13:47)
-
Re: スレッド間の影響について
(takahashi, 2010-10-4 14:25)
- Re: スレッド間の影響について (Jiro123, 2010-10-4 14:46)
-
Re: スレッド間の影響について
(takahashi, 2010-10-4 16:04)
- Re: スレッド間の影響について (Jiro123, 2010-10-4 16:14)
-
Re: スレッド間の影響について
(takahashi, 2010-10-4 16:31)
- Re: スレッド間の影響について (Jiro123, 2010-10-4 17:24)
- Re: スレッド間の影響について (takahashi, 2010-10-4 17:47)
- Re: スレッド間の影響について (takahashi, 2010-10-5 16:20)