MLSetThreadSafeLinksParameter (C 関数)

MLSetThreadSafeLinksParameterWSSetThreadSafeLinksParameterに置き換えられた.

long MLSetThreadSafeLinksParameter(MLEnvironmentParameter p)

p で初期化されたMathLink環境オブジェクトによって作成されたリンクすべてについて,スレッドの安全性を有効にする.

詳細

  • デフォルトでは,MathLinkリンクオブジェクトはスレッドセーフではない.MathLink環境オブジェクトによって作成されたリンクオブジェクトがすべてデフォルトでスレッドセーフになるようにするには,MLSetThreadSafeLinksParameter()でスレッドの安全性のパラメータを設定する.
  • リンクオブジェクトがスレッドセーフであるということは,複数のスレッドが同じリンクオブジェクトに対して同時に MathLink API関数を呼び出すことができることを意味する.
  • p は,MLNewParameters() MathLink API関数を使って作成されなければならない.
  • MLSetThreadSafeLinksParameter()は標準エラー値を使って,MLError()によって返された通りにエラーコードを返す.
  • MLSetThreadSafeLinksParameter()は,MathLinkヘッダファイルmathlink.hで宣言される.

例題

  (1)

#include "mathlink.h"

int main()
{
    MLEnvironmentParameter ep;
    MLENV env;
    long apiResult;
    
    ep = MLNewParameters(MLREVISION, MLAPIREVISION);
    if(ep == (MLEnvironmentParameter)0)
    { /* Unable to create the MLEnvironmentParameter object. */ }

    apiResult = MLSetThreadSafeLinksParameter(ep);
    if(apiResult != MLEOK)
    { /* Failed to set thread-safe links parameter */ }

    env = MLInitialize(ep);
    if(env == (MLENV)0)
    { /* Failed to initialize MathLInk environment object */ }

    MLReleaseParameters(ep);

    /* ... */

    MLDeinitialize(env);

    return 0;
}