[前へ] [目次へ] [次へ]
このクラスはスレッドを越境してクロージャを呼び出すためのクラスです。
このクラスのインスタンスにクロージャを設定することにより、
異なるスレッドからクロージャを呼び出せるように見せかけます。
このクラスはクロージャを設定したスレッドを記憶し、そのスレッドに対してスレッド越境呼出を行います。
そのため、このクラスを介してクロージャを呼び出しているスレッドは完了まで他の処理ができません。
●継承/注入
このクラスは継承/注入をしていません。
●インターフェイスとインターフェイスメソッド
このクラスはインターフェイスの実装宣言をしていません。
●クラスメソッド
このクラスはクラスメソッドを持っていません。
●クラスメンバメソッド
●クラス共有変数
このクラスはクラス共有変数を持っていません。
●インスタンス変数
ExClosureCaller::FarCaller
internal void FarCaller(editable Any? ret_obj,...)
設定されているクロージャを呼び出し、戻り値を呼び出し元に返すための相手スレッド側メソッド。
このメソッドはクロージャを呼び出すスレッドで実行されます。
editable Any? ret_obj :戻り値を代入するオブジェクト。
空参照を指定した場合は無視します。
可変長引数:クロージャの引数としてそのまま渡されます。
先頭へ
ExClosureCaller::Set
public Bool Set( INativeClosure call_target)
Call メソッドで呼び出すクロージャとスレッドを設定します。
スレッドはこのメソッドを呼び出したスレッドが設定されます。
クロージャを指定する場合、このメソッドはクロージャを作成したスレッドで呼び出さなければいけません。
戻り値:設定に成功した場合は真を返します。
INativeClosure call_target :呼び出すクロージャ。
先頭へ
ExClosureCaller::Call
public Bool Call(editable Any? ret_obj,...)
このオブジェクトに設定されているクロージャを呼び出します。
戻り値:呼び出しに成功した場合は真を返します。
editable Any? ret_obj :クロージャの戻り値を代入するオブジェクト。
空参照を指定した場合は無視します。
可変長引数:クロージャの引数としてそのまま渡されます。
先頭へ
ExClosureCaller::exc_thread
internal HThread exc_thread
クロージャを呼び出すスレッドのハンドル。
先頭へ
ExClosureCaller::exc_closure
internal ConstPointer<INativeClosure> exc_closure
呼び出すクロージャ。
先頭へ
ExClosureCaller::exc_active
internal Bool exc_active
クロージャの呼び出し処理中フラグ。
先頭へ
[前へ] [目次へ] [次へ]
最終更新 2023/02/01