|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectmy_util.SharedObject
Sharable インタフェースを実装したオブジェクトをスレッド間で共有 するためのロック機構を提供するユーティリティ・クラスです。
Sharable
,
Semaphore
メソッドの概要 | |
static SharedObject |
attach(java.lang.String key)
既に作成された名前つきロックを取得します。 |
static SharedObject |
create(java.lang.String key,
java.lang.Class sharable_class,
int max_sharers)
スレッド間で共有化するオブジェクト用のロックを作成します。 |
static SharedObject |
create(java.lang.String key,
java.lang.String sharable_class_name,
int max_sharers)
スレッド間で共有化するオブジェクト用のロックを作成します。 |
Sharable |
get_object()
take() で既に獲得された名前つきロックに関連付けられている 共有オブジェクトを取得します。 |
boolean |
initialize(java.lang.String[] vals)
スレッド間で共有されるオブジェクトの初期化を行います。 |
boolean |
leave()
take() で獲得された名前つきロックを解放します。 |
boolean |
take(boolean sharing,
boolean blocking,
long time_out)
名前つきロックの占有/共有ロックを行います。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
メソッドの詳細 |
public static SharedObject create(java.lang.String key, java.lang.String sharable_class_name, int max_sharers) throws java.lang.Exception
key
- ロックの名前sharable_class_name
- Sharable インタフェースを実装した
クラスのクラス名。名前つきロックの
機能だけを使用する場合は、null を指定max_sharers
- ロックを共用する最大スレッド数
java.lang.Exception
- sharable_class_name で指定されたクラスが
存在しないかあるいは、そのクラスの
インスタンス生成に失敗した場合public static SharedObject create(java.lang.String key, java.lang.Class sharable_class, int max_sharers) throws java.lang.Exception
key
- ロックの名前sharable_class
- Sharable インタフェースを実装した
クラスのクラス名。名前つきロックの
機能だけを使用する場合は、null を指定max_sharers
- ロックを共用する最大スレッド数
java.lang.Exception
- sharable_class で指定されたクラスの
インスタンス生成に失敗した場合public static SharedObject attach(java.lang.String key)
key
- ロックの名前
public boolean initialize(java.lang.String[] vals) throws java.lang.Exception
vals
- 共有オブジェクトの初期化値を指定する文字列配列
java.lang.Exception
- 名前つきロックの占有獲得でエラーが起きた場合
あるいは共有オブジェクトの取得に失敗した場合public boolean take(boolean sharing, boolean blocking, long time_out) throws java.lang.Exception
sharing
- 占有ロックを行う場合 true を、
共有ロックを行う場合は false を指定しますblocking
- ロック獲得まで処理をブロックする場合は true を、
ブロックせずにただちにリターンさせる場合は false
を指定しますtime_out
- blocking が true の場合、ブロッキングする
最大ミリ秒数を指定します。無限にロック獲得を待機
する場合は 0 を指定します
java.lang.Exception
- Semaphore.take() メソッドを参照してくださいpublic Sharable get_object() throws java.lang.Exception
java.lang.Exception
- Semaphore.get_exclusive_object() メソッドを
参照してくださいpublic boolean leave()
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |