aardio 文档

thread.command 库模块帮助文档

thread 成员列表

thread.command()

返回对象:threadCommandObject

thread.command(窗口对象)

创建线程命令订阅对象,
省略窗口对象则创建 message only window

thread.command 成员列表

创建线程命令订阅对象,返回对象可传入其他线程使用。
返回对象添加的成员函数,都可在其他线程中调用。

thread.command.bind()

返回对象:threadCommandBindObject

thread.command.bind(hwndListener)

绑定监听对象窗体句柄
可添加绑定任意个默认调用参数

thread.command.instance()

全局单实例线程命令订阅对象

返回对象:threadCommandObject

thread.command.invoke("命令名",线程函数,调用参数)

thread.command.invoke(    
    "/*创建线程  
使用线程函数的返回值作为参数触发该命令*/" ,function( ... ){  

    },   
)

thread.command.post("命令函数名",其他参数)

不阻塞调用跨线程命令,不接收返回值
不指定窗口句柄,所有同名的线程命令函数都会被调用
函数无返回值

thread.command.post(窗口句柄,"命令函数名",其他参数)

不阻塞调用跨线程命令,
参数@1指定句柄时,超过消息队列限制发送失败返回false,否则返回true

thread.command.postIdle(延时值,"命令函数名",其他参数)

在指定的延时值内忽略部分消息
其他同post函数

thread.command.postIdle(延时值,窗口句柄,"命令函数名",其他参数)

在指定的延时值内忽略部分消息
其他同post函数

thread.command.send("命令函数名",其他参数)

阻塞调用跨线程命令,
注意send函数发送的消息有可能比之前post函数发送的消息更早被接收
不指定窗口句柄,所有同名的线程命令函数都会被调用,
可获取回调函数的返回值,默认返回空值

thread.command.send(窗口句柄,"命令函数名",其他参数)

阻塞调用跨线程命令,
注意send函数发送的消息有可能比之前post函数发送的消息更早被接收
可获取回调函数的返回值,默认返回空值

thread.command.sendIdle(延时值,"命令函数名",其他参数)

在指定的延时值内忽略部分消息
其他同send函数

thread.command.sendIdle(延时值,窗口句柄,"命令函数名",其他参数)

在指定的延时值内忽略部分消息
其他同send函数

thread.command.sendInvoke("命令函数名",其他参数)

调用线程命令并等待返回值,等待过程中不卡界面,
注意sendInvoke函数发送的消息有可能比之前post函数发送的消息更早被接收
不指定窗口句柄,所有同名的线程命令函数都会被调用,
可获取回调函数的返回值,默认返回空值

thread.command.sendInvoke(窗口句柄,"命令函数名",其他参数)

调用线程命令并等待返回值,等待过程中不卡界面,
注意sendInvoke函数发送的消息有可能比之前post函数发送的消息更早被接收
可获取回调函数的返回值,默认返回空值

thread.command.命令函数名()

如果命令函数名首字符为$以post模式异步调用命令,
否则以send模式同步调用该命令,
传入参数应与该命令定义时预设的形参一致,
send模式调用可获取回调函数的返回值,默认返回空值

threadCommandBindObject 成员列表

threadCommandBindObject.?

调用send函数发送该命令,
传入参数应与该命令定义时预设的形参一致
可获取回调函数的返回值,默认返回空值

threadCommandBindObject.post("字符串参数",)

不阻塞调用跨线程命令

threadCommandBindObject.postIdle(1000,"字符串参数",)

阻塞调用跨线程命令,
在参数@1指定的延时值内忽略部分消息

threadCommandBindObject.send("字符串参数",)

不阻塞调用跨线程命令

threadCommandBindObject.sendIdle(1000,"字符串参数",)

阻塞调用跨线程命令,
在参数@1指定的延时值内忽略部分消息

threadCommandObject 成员列表

threadCommandObject.?

threadCommandObject./*订阅命令函数名字,支持不定个数参数  
如果同一个名字要注册多个回调函数请使用subscribe函数,  
使用"."成员操作符可获取命令调用函数,不可使用下标,  
默认以send模式同步调用,函数名首字符为$以post模式异步调用  
send模式下返回值可阻止命令继续传递*/ = function( ... ){

}

threadCommandObject._form

窗体对象

返回对象:winform

threadCommandObject.hwnd

绑定监听对象窗体句柄

threadCommandObject.invoke( 线程函数,... )

threadCommandObject.invoke( 线程函数,...invoke(  
    function( hwndListener,... ){  
        import thread.command;  
        var notifier = thread.command.bind(hwndListener);  

        notifier.post("begin")   
        notifier.post("end")   
    },...  
)

threadCommandObject.subscribe

订阅指定的命令

threadCommandObject.subscribe("订阅命令名字",回调函数对象)

同一个名字可以多此调用此函数添加多个不同的关注回调函数
回调函数如果返回值可阻止命令继续传递

threadCommandObject.unsubscribe

取消订阅指定的命令

threadCommandObject.unsubscribe("订阅命令名字",回调函数对象)

函数无返回值

Markdown 格式