15.10.5 ラムダ構文の使用
一般的に、環境内で次の操作を実行できます。
- 実行環境の設定
- タスクの実行
- 実行環境のリセット
set
メソッドを使用すると、これらのすべての操作を組み合せて1つのステップで実行できます。それぞれのset
メソッドについて、更新された値を使用する、with
接頭辞を使用するメソッドと、更新された値を使用して実行するラムダがあります。
たとえば、次に示すように、setNumThreadsPerTask()
のかわりにwithNumThreadsPerTask()
を使用します。
JShellを使用した実行環境でのラムダの使用
opg-jshell> var g = ioEnv.withNumThreadsPerTask(8, () -> session.readGraphWithPropertiesAsync(...)) ==> PgxGraph[name=graph,N=3,E=6,created=0]
Javaを使用した実行環境でのラムダの使用
import oracle.pgx.api.*; import oracle.pgx.api.executionenvironment.*; PgxGraph g = ioEnv.withNumThreadsPerTask(8, () -> session.readGraphWithPropertiesAsync(...));
前述のコードを実行することは、次の操作のシーケンスと同等です。
var oldValue = ioEnv.getNumThreadsPerTask()
ioEnv.setNumThreadsPerTask(currentValue)
var g = session.readGraphWithProperties(...)
ioEnv.setNumThreadsPerTask(oldValue)
親トピック: 実行環境を使用した高度なタスク・スケジューリング