my_util
クラス Message

java.lang.Object
  拡張my_util.Message

public class Message
extends java.lang.Object

スレッド間でオブジェクトを送受信するためのメッセージ・キューです。


フィールドの概要
static int DEFAULT_MESSAGE_MAX
          メッセージ・キューに滞留可能なオブジェクト数の既定値 (= 100) です。
 
メソッドの概要
static Message attach(java.lang.String name)
          名前を指定して既に作成されているメッセージ・キューを取得する クラス・メソッドです。
static Message create(java.lang.Thread me, java.lang.String name, int length)
          スレッド間で使用するメッセージ・キューを作成するクラス・メソッド です。
static boolean destroy(java.lang.Thread me, java.lang.String name)
          メッセージ・キューを破棄するクラス・メソッドです。
 int get_message_cnt()
          メッセージ・キューに滞留しているオブジェクトの数を取得する メソッドです。
 java.lang.Object get(boolean head, boolean blocking, long timeout)
          メッセージ・キューの先頭か末尾からオブジェクトを取得します。
 boolean put(java.lang.Object o, boolean head, boolean blocking, long timeout)
          メッセージ・キューの先頭か末尾にオブジェクトを挿入します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFAULT_MESSAGE_MAX

public static final int DEFAULT_MESSAGE_MAX
メッセージ・キューに滞留可能なオブジェクト数の既定値 (= 100) です。

関連項目:
定数フィールド値
メソッドの詳細

create

public static Message create(java.lang.Thread me,
                             java.lang.String name,
                             int length)
スレッド間で使用するメッセージ・キューを作成するクラス・メソッド です。メッセージ・キューに固有の名前をつけて作成します。他の スレッドはこの名前でメッセージ・キューに接続 (attach(java.lang.String)) します。

パラメータ:
me - メッセージ・キューを作成するスレッド。null を指定すると メッセージキューは作成されず、null が返されます。
name - メッセージ・キューに固有の名前。他のスレッドが接続 する時にこの名前で接続することになります。
length - 滞留するオブジェクト数の最大値。
戻り値:
  • 非 null - 作成されたメッセージ・キュー。 あるいは、既に作成されたメッセージ・ キュー (ただし、length が既存のキュー 作成時に指定された length と同値である 場合に限ります)
  • null - 引数に誤りがある場合に返されます。 既存メッセージ・キューの作成時 length と このメソッドの length が一致しない場合も 返されます。

attach

public static Message attach(java.lang.String name)
名前を指定して既に作成されているメッセージ・キューを取得する クラス・メソッドです。

パラメータ:
name - メッセージ・キューが作成された時につけられた固有の 名前
戻り値:
  • 非 null - メッセージ・キュー
  • null - 名前に対応するメッセージ・キューが 作成されていないことを示します。

destroy

public static boolean destroy(java.lang.Thread me,
                              java.lang.String name)
メッセージ・キューを破棄するクラス・メソッドです。 メッセージ・キューを作成したスレッドだけが破棄できます。

パラメータ:
me - メッセージ・キューを破棄するスレッド。null か メッセージ・キューを作成したスレッドでない場合、 メッセージキューは破棄されません。
name - メッセージ・キュー作成時に付加された名前。 null の場合、メッセージ・キューは破棄されません。
戻り値:
  • true - メッセージ・キューが破棄されたことを 示します。
  • false - 引数が誤りであるか、既にメッセージ・キュー が破棄されていることを示します。

get_message_cnt

public int get_message_cnt()
メッセージ・キューに滞留しているオブジェクトの数を取得する メソッドです。

戻り値:
メッセージ・キューに滞留しているオブジェクト数を返します

get

public java.lang.Object get(boolean head,
                            boolean blocking,
                            long timeout)
                     throws java.lang.Exception,
                            java.lang.InterruptedException
メッセージ・キューの先頭か末尾からオブジェクトを取得します。 メッセージ・キューが空の場合ブロックするかしないか、さらに、 ブロックする場合タイムアウトまでの時間をミリ秒精度で指定 できます。

パラメータ:
head - メッセージ・キューの先頭 (= true) あるいは 末尾 (= false) どちらの位置からオブジェクトを 指定するかについて指定します。
blocking - メッセージ・キューが空の場合に処理をブロックする (= true) かしないか (= false) について指定します。
timeout - ブロックする場合、タイムアウトまでの時間を ミリ秒精度で指定します。 0 以下の場合タイムアウト制御は行わず、無期限で ブロックします。
戻り値:
  • 非 null - 取得したオブジェクト。
  • null - メッセージ・キューが空であることを示します。 >
例外:
TimeoutException - タイムアウトした場合。 例外メッセージは "Message.get(): Timeout (タイムアウト・ミリ秒数)"
java.lang.InterruptedException - 他スレッドから interrupt() メソッド呼び出しで割り込まれた場合。
java.lang.Exception

put

public boolean put(java.lang.Object o,
                   boolean head,
                   boolean blocking,
                   long timeout)
            throws java.lang.Exception,
                   java.lang.InterruptedException
メッセージ・キューの先頭か末尾にオブジェクトを挿入します。 メッセージ・キューが一杯の場合ブロックするかしないか、さらに、 ブロックする場合タイムアウトまでの時間をミリ秒精度で指定 できます。

パラメータ:
head - メッセージ・キューの先頭 (= true) あるいは 末尾 (= false) どちらの位置にオブジェクトを 挿入するかについて指定します。
blocking - メッセージ・キューが一杯の場合に処理をブロック する (= true) かしないか (= false) について指定 します。
timeout - ブロックする場合、タイムアウトまでの時間を ミリ秒精度で指定します。 0 以下の場合タイムアウト制御は行わず、無期限で ブロックします。
戻り値:
  • true - オブジェクトの挿入に成功したことを 示します。
  • false - メッセージ・キューが一杯であることを 示します。>
例外:
TimeoutException - タイムアウトした場合 例外メッセージは "Message.put(): Timeout (タイムアウト・ミリ秒数)"
java.lang.InterruptedException - 他スレッドから interrupt() メソッド呼び出しで割り込まれた場合。
java.lang.Exception