summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Matthew Dempsky <matthew@dempsky.org>2020-01-19 14:23:46 -0800
committerGravatar Matthew Dempsky <matthew@dempsky.org>2020-01-19 14:23:46 -0800
commit6c07bbd4c486e8983ff3101411595bc1fc938834 (patch)
tree43172bb264d703de2cd6ba7318466c9542e59f60
parent026883de8a8c80a1dc5fa3e51a95e951db4b2b6a (diff)
Fix documentation typo
Cooperative threads run *un*interrupted between context-switch points.
-rw-r--r--doc/manual.tex2
1 files changed, 1 insertions, 1 deletions
diff --git a/doc/manual.tex b/doc/manual.tex
index 779db408..44cd0007 100644
--- a/doc/manual.tex
+++ b/doc/manual.tex
@@ -2124,7 +2124,7 @@ Configure the policy for meta names with the \texttt{allow} and \texttt{deny} \t
Ur/Web supports running code on web browsers, via automatic compilation to JavaScript.
-The concurrency model is \emph{cooperative multithreading}. Like with, say, POSIX threads, which uses the \emph{preemptive multithreading} model, there may be multiple threads of control active at a time. However, unlike with preemptive multithreading, the currently running thread gets to run interrupted until a well-defined \emph{context-switch} point. Specifically, four functions defined below are the context-switch points. They are $\mt{sleep}$, $\mt{rpc}$, $\mt{tryRpc}$, and $\mt{recv}$. (We explain their purposes as we come to them below.) Additional functions added via the foreign function interface might also have context-switching behavior. In any case, it is guaranteed that a running thread ``owns the processor'' until it calls a context-switching function, at which time we may switch to running a different thread instead.
+The concurrency model is \emph{cooperative multithreading}. Like with, say, POSIX threads, which uses the \emph{preemptive multithreading} model, there may be multiple threads of control active at a time. However, unlike with preemptive multithreading, the currently running thread gets to run uninterrupted until a well-defined \emph{context-switch} point. Specifically, four functions defined below are the context-switch points. They are $\mt{sleep}$, $\mt{rpc}$, $\mt{tryRpc}$, and $\mt{recv}$. (We explain their purposes as we come to them below.) Additional functions added via the foreign function interface might also have context-switching behavior. In any case, it is guaranteed that a running thread ``owns the processor'' until it calls a context-switching function, at which time we may switch to running a different thread instead.
This concurrency paradigm has many nice properties. For instance, there is almost never any need for locking or other synchronization between threads.