POSTFIXPARALLEL
POSTFIXPARALLELコマンド・ブロックは、FIXPARALLEL...ENDFIXPARALLEL内のオプションの後処理ブロックです。 これを使用して、一時的なスレッド・レベルのTHREADVAR値を、FIXPARALLELブロックの外部で使用できる、より長く永続化されたVAR変数にコピーできます。
構文
POSTFIXPARALLEL ( [ varName = ACCUMULATEVAR (threadVarName ); ]* );
パラメータ
ノート
FIXPARALLEL以外で使用できるVAR変数に一時THREADVAR値をコピーするには、次のタスク・フローを使用します:
-
VAR変数(FIXPARALLELブロックの外側)を宣言して、計算結果を格納します。
-
FIXPARALLELブロック内で使用するTHREADVAR変数を宣言します。
-
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