WSSetThreadSafeLinksParameter (C 関数)

long WSSetThreadSafeLinksParameter(WSEnvironmentParameter p)

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

詳細

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

例題

  (1)

#include "wstp.h"

int main()
{
    WSEnvironmentParameter ep;
    WSENV env;
    long apiResult;
    
    ep = WSNewParameters(WSREVISION, WSAPIREVISION);
    if(ep == (WSEnvironmentParameter)0)
    { /* Unable to create the WSEnvironmentParameter object. */ }

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

    env = WSInitialize(ep);
    if(env == (WSENV)0)
    { /* Failed to initialize WSTP environment object */ }

    WSReleaseParameters(ep);

    /* ... */

    WSDeinitialize(env);

    return 0;
}