1
0
mirror of https://github.com/dhil/phd-dissertation synced 2026-03-13 02:58:26 +00:00
This commit is contained in:
2021-02-05 01:05:47 +00:00
parent e907a526e5
commit b977c35d91

View File

@@ -7944,14 +7944,14 @@ complete is the $\init$ process.
\paragraph{Effect-driven concurrency} \paragraph{Effect-driven concurrency}
In their tutorial of the Eff programming language \citet{BauerP15} In their tutorial of the Eff programming language \citet{BauerP15}
implements a simple lightweight thread scheduler. It is different from implement a simple lightweight thread scheduler. It is different from
the schedulers presented in this section as their scheduler only uses the schedulers presented in this section as their scheduler only uses
resumptions linearly. This is achieved by making the fork operation resumptions linearly. This is achieved by making the fork operation
\emph{higher-order} such that the operation is parameterised by a \emph{higher-order} such that the operation is parameterised by a
computation. The computation is run under a fresh instance of the computation. The computation is run under a fresh instance of the
handler. On one hand this approach has the benefit of making threads handler. On one hand this approach has the benefit of making threads
cheap as it is no stack copying is necessary at runtime. On the other cheap as it is no stack copying is necessary at runtime. On the other
hand it loses the guarantee that every operation is handled uniformly hand it does not guarantee that every operation is handled uniformly
(when in the setting of deep handlers) as every handler in between the (when in the setting of deep handlers) as every handler in between the
fork operation invocation site and the scheduler handler needs to be fork operation invocation site and the scheduler handler needs to be
manually reinstalled when the computation argument is manually reinstalled when the computation argument is