Concurrent関数とは
複数の数式を相互に同時に評価します。
公式より引用
並列処理を可能にする関数です。
構文
Concurrent( Formula1, Formula2 [, ...] )
Formula(s) – 必須。 同時に評価する数式。
通常関数は;で接続しますが、Concurrent関数の引数として利用する場合は,区切りに変換する必要があります。
使い方
一度の操作で多くの処理を実行する際に使用します。
具体的な例だと、App.OnStartなどでコレクションや変数を一度に定義する際によく使用します。

変数の定義以外にも直列処理すると処理時間が長くなってしまう場合に使用します。
使用上の注意点
アプリのパフォーマンスを大きく改善出来る可能性のあるConcurrent関数ですが、いくつか注意点があります。


同じデータソースに対して並列処理できない

上記のように一つのデータソースに対して複数の処理を並列処理することはできません。

一つのデータソースに対して処理を行う場合は、通常通り;で直列処理させる必要があります。
また、別のデータソースであれば同じ処理でも並列処理可能です。
処理の前後関係

上記のようにSubmitFormで保存した値を変数に格納するような処理の順序をさせたい場合、並列処理は適切でないため通常通り;で直列処理させましょう。
コメント