機械翻訳について

POSTFIXPARALLEL

POSTFIXPARALLELコマンド・ブロックは、FIXPARALLEL...ENDFIXPARALLEL内のオプションの後処理ブロックです。 これを使用して、一時的なスレッド・レベルのTHREADVAR値を、FIXPARALLELブロックの外部で使用できる、より長く永続化されたVAR変数にコピーできます。

構文

POSTFIXPARALLEL ( [ varName = ACCUMULATEVAR (threadVarName ); ]* );

パラメータ

varName

指定したTHREADVAR変数のすべてのスレッド値の合計を格納するVAR変数の名前。

ACCUMULATEVAR

指定したTHREADVAR変数のすべてのスレッド値を加算するキーワード。 次に、合計が指定されたVAR変数に割り当てられます。

threadVarName

THREADVAR変数の名前。

ノート

FIXPARALLEL以外で使用できるVAR変数に一時THREADVAR値をコピーするには、次のタスク・フローを使用します:

  1. VAR変数(FIXPARALLELブロックの外側)を宣言して、計算結果を格納します。

  2. FIXPARALLELブロック内で使用するTHREADVAR変数を宣言します。

  3. POSTFIXPARALLELブロックを使用して、THREADVARをVARにコピーします。

次の例では、THREADVAR変数のSales値をVAR変数に蓄積します。


/* Store computed result of four tasks */
VAR totalSalesAmnt = 0;    
/* Four tasks */
FIXPARALLEL (2, "New York", "California", "Oregon", "Florida") 
/* Accumulate results of tasks into threads */
THREADVAR s_entitySalesAmnt;  
/* Use for computation in each task */
THREADVAR entitySalesAmnt;       
/* Use/change THREADVARs within member formula blocks */
"Sales" 
  ( 
    /* Initialize variables for this task */
   entitySalesAmnt = 2;
    /* Use the THREADVARS ... */
    /* Accumulate task-data into thread-data */
    s_entitySalesAmnt = s_entitySalesAmnt + entitySalesAmnt;
  );
/* Copy computed data into longer-persisting VAR */
POSTFIXPARALLEL ( totalSalesAmnt = ACCUMULATEVAR ( s_entitySalesAmnt ););
ENDFIXPARALLEL