方法
GLibMainContextinvoke
版本: 2.28
声明 [源]
void
g_main_context_invoke (
GMainContext* context,
GSourceFunc function,
gpointer data
)
描述 [源]
以这种方式调用函数,确保在调用function期间context被拥有。
如果context是NULL,则使用全局默认主上下文——由g_main_context_default()返回。
如果context被当前线程拥有,则直接调用function。否则,如果context是当前线程的线程默认主上下文,并且g_main_context_acquire()成功,则调用function并在之后调用g_main_context_release()。
在其他情况下,将创建一个空闲源以调用function,并将该源附加到context上(假设在另一个线程中运行)。空闲源以G_PRIORITY_DEFAULT优先级附加。如果您想要不同的优先级,请使用g_main_context_invoke_full()。
注意,就像普通的空闲函数一样,function很可能应该返回FALSE。如果它返回TRUE,它将连续在循环中运行(并且可能阻止此调用返回)。
自: 2.28
此方法对语言绑定不可直接访问。
参数
function-
类型:
GSourceFunc要调用的函数。
data-
类型:
gpointer传递给
function的数据。该参数可以是 NULL。数据由方法调用者拥有。