15.10.5 ラムダ構文の使用

一般的に、環境内で次の操作を実行できます。

  1. 実行環境の設定
  2. タスクの実行
  3. 実行環境のリセット

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)