資産管理電卓v0.17.71.0 追加機能説明1 [資産管理電卓(LineCalc)]
資産管理電卓v0.17.71.0の追加機能についての詳細です。
・lock 対応
prc で並列処理を行う場合共通の変数を同時にアクセスすると更新がうまくいかない場合があります。
これは $cnt + 1 の部分が並列に処理されるので $cnt が同じ値で同時に処理する場合が起きるからです。
これを防ぐのにはある区間は並列に実行しないよう指示する必要があります。
その為に lock を使います。
lock(ID(ロック変数ID),式(実行文))
lock はロックの区間識別子として変数を指定します。
区間識別子が同じ lock が相互に排他制御されます。
大抵は操作する変数名でいいと思います。
区間識別子が同じ lock された部分は並列にならないので遅くなります。
これで資産管理電卓v0.17.71.0の説明は終わりです。
・lock 対応
prc で並列処理を行う場合共通の変数を同時にアクセスすると更新がうまくいかない場合があります。
( $cnt = 0 , for(cnt , 1 , 100 , 1 ,prc('$cnt = $cnt + 1')), waitresall, print($cnt) )
これは $cnt + 1 の部分が並列に処理されるので $cnt が同じ値で同時に処理する場合が起きるからです。
これを防ぐのにはある区間は並列に実行しないよう指示する必要があります。
その為に lock を使います。
lock(ID(ロック変数ID),式(実行文))
lock はロックの区間識別子として変数を指定します。
区間識別子が同じ lock が相互に排他制御されます。
大抵は操作する変数名でいいと思います。
( $cnt = 0 , for(cnt , 1 , 100 , 1 ,prc('lock($cnt,$cnt = $cnt + 1)')), waitresall, print($cnt) )
区間識別子が同じ lock された部分は並列にならないので遅くなります。
これで資産管理電卓v0.17.71.0の説明は終わりです。
2020-12-17 01:00
コメント(0)
コメント 0