以下の記事の続編です.

前回は, Java の 共有メモリモデルを利用して Producer-Consumer Pattern を実装した.

今回は, Oz のもつ決定性データフローモデルを利用して実装してみる.

決定性データフローモデル

データフロー変数をもつモデル.

データフロー変数

変数に値が束縛されるまでプログラムの実行を待ち合わせるような宣言的変数.

あるスレッドがデータフロー変数を利用しようとしたとき, その変数に値が束縛されていない場合は, 別のスレッドが束縛するまで待ち合わせを行う.

束縛されたときの実行を データフロー実行 という.

実行例

2021.11.30追記: 記事が壊れたので以下は削除した.