diff options
author | Matthew Dempsky <matthew@dempsky.org> | 2020-01-19 14:23:46 -0800 |
---|---|---|
committer | Matthew Dempsky <matthew@dempsky.org> | 2020-01-19 14:23:46 -0800 |
commit | 6c07bbd4c486e8983ff3101411595bc1fc938834 (patch) | |
tree | 43172bb264d703de2cd6ba7318466c9542e59f60 | |
parent | 026883de8a8c80a1dc5fa3e51a95e951db4b2b6a (diff) |
Fix documentation typo
Cooperative threads run *un*interrupted between context-switch points.
-rw-r--r-- | doc/manual.tex | 2 |
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. |