MLGetYieldFunction (C 函数)
MLGetYieldFunction 已经被 WSGetYieldFunction 所取代.
MLYieldFunctionObject MLGetYieldFunction(MLINK link)
返回由 link 引用的链接的当前已安装的屈服函数(yield function).
更多信息

- 某些 MathLink API 调用会被阻塞直到数据可被读取或空间可被写入. 如果在阻塞期间,应用程序需要执行其他有用的处理,应用程序可以安装链接的屈服函数(yield function),当被阻塞时,MathLink 会自动调用屈服函数.
- 如果 link 没有安装了屈服函数,MLGetYieldFunction() 返回 (MLYieldFunctionObject)0.
- MLGetYieldFunction() 在 MathLink 标头文件 mathlink.h 中被声明.
范例
基本范例 (1)
#include "mathlink.h"
int AppYieldFunction1 (MLINK mlp, MLYieldParameters yp)
{
/* ... */
return 0;
}
int AppYieldFunction2 (MLINK mlp, MLYieldParameters yp)
{
/* ... */
return 0;
}
/* check which yield function is installed in a link */
int f(MLINK lp)
{
MLYieldFunctionObject yf;
yf = MLGetYieldFunction(lp);
if(yf == (MLYieldFunctionObject)AppYieldFunction1) return 1;
else if(yf == (MLYieldFunctionObject)AppYieldFunction2) return 2;
else if(yf == (MLYieldFunctionObject)0) return 0;
return -1;
}