有X和Y.
X是一个守护进程。 Y是一个如此自由。
X在Y lib中调用函数A.
完成A功能需要很长时间。
所以X有很大的问题。
我想改进它以制作另一个线程......或者等等。 (减少A的时间是不可能的。)
A是
bool A (callback)
{
... /* some dbus init */
... /* some other job init */
...
g_main_context_invoke(NULL, _functionA, callback);
return true;
}
所以我改变它如下。
我制作A1功能。并且更改X调用A1函数而不是A。
int A1(callback)
{
g_idle_add(A, callback);
return true;
}
结果是A未完成。 我不知道为什么..我假设因为“g_main_context_invoke(NULL,_ functionA,callback);”
有没有人可以改善这个问题?