public final class ExecThreadManager
extends java.lang.Object
帳票処理を行う各スレッドを管理するクラスです。 各スレッドは、内部的にプールされます。 スレッドのIDはOOoQueue#getThreadId()で返される値です。 スレッドが生成されるタイミングは、そのIDで初めてスタック要求が来た(insertQueue()が呼ばれた)時です。 指定のスレッドを終了するには、funishThread( key )を呼び出します。 全てのスレッドを終了するには、funishAllThreads()を呼び出します。 現時点での実装では、生成されたスレッドに対しての監視は行っていません。 これは、特定のスレッドがフリーズした際、外部から強制終了を行おうとすると、 監視スレッドもフリーズしてしまう問題があるためです。 (但し、1つのsoffice.binのプロセスに対してシリアルに対して処理している限りでは、 フリーズ問題は発生しないようです)
修飾子とタイプ | メソッドと説明 |
---|---|
static void |
finishAllThreads()
全てのスレッドを終了します。
|
static void |
finishThread(java.lang.String threadId)
指定のスレッドを終了します。
|
static java.util.concurrent.ConcurrentMap |
getThreadInfo()
スレッド情報のマップを返します。
|
static void |
insertQueue(ExecQueue queue)
キューを該当するスレッドにスタックする。
|
static void |
insertQueueOnNewThread(ExecQueue queue)
キューを該当するスレッドにスタックする
このメソッドでは、既に同じスレッドが存在するかどうかをチェックせずに必ず
新しいスレッドを生成し、キューを処理します。
|
static void |
setDebug(boolean flag)
デバッグフラグの設定。
|
public static void insertQueue(ExecQueue queue)
queue
- ExecQueueオブジェクトpublic static void insertQueueOnNewThread(ExecQueue queue)
queue
- ExecQueueオブジェクトpublic static void finishAllThreads()
public static void finishThread(java.lang.String threadId)
threadId
- スレッドIDpublic static java.util.concurrent.ConcurrentMap getThreadInfo()
public static void setDebug(boolean flag)
flag
- デバッグフラグ [true:デバッグ/false:通常]Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.