http://www.foxtable.com/mobilehelp/scr/3273.htm
移动帮助文档发现多了一个h
方法 |
说明 |
Execute |
最常用的函数调用方法,可以在主线程使用,也可以在子线程使用。 如果在主线程通过Execute方法调用某函数,此函数就运行在主线程。 如果在子线程通过Execute方法调用某函数,此函数就运行在子线程。 也就是说,Execute不会改变函数的运行线程,被调用的函数始终和调用方处于同一个线程中。 |
AsyncExecute |
用异步方式调用函数,一般在主线程使用。 如果在主线程(A)通过AsyncExecute调用函数,被调用的函数将在一个新的子线程(B)中运行。 如果在子线程(B)通过AsyncExecute调用函数,被调用的函数将在一个新的子线程(C)中运行。 也就是说AsyncExecute始终会开启一个新的线程运行函数,所以AsyncExecute方法一般仅在在主线程使用。 由于AsyncExecute并不会等函数执行完毕,就会执行返回调用方线程继续执行后续代码,所以AsyncExecute不会返回函数执行结果。 |
SyncExecutehe BeginSyncExecute |
用同步方式调用函数,二者区别如下: 子线程通过BeginSyncExecute调用函数后,不会做任何的等待,立即返回原来位置继续执行后后续代码,BeginSyncExecute不会返回函数的结果 子线程通过SyncExecute调用函数,会一直等待,直到函数执行完毕,才会返回子线程继续执行后续代码,SyncExecute会返回函数的结果。 多数时候,我们都会用BeginSyncExecute方法调用同步函数,如果希望获取同步函数的结果,可以使用SyncExecute方法调用。 二者都只应该在子线程使用,因为在主线程使用毫无意义。 |
[此贴子已经被作者于2018/7/9 10:31:46编辑过]