Changeset 0ec4eb0


Ignore:
Timestamp:
Jul 4, 2023, 1:10:30 PM (10 months ago)
Author:
caparsons <caparson@…>
Branches:
master
Children:
b2ecd48
Parents:
930a800
Message:

read through up to start of actor chapter and made some small polishing changes

Location:
doc/theses/colby_parsons_MMAth/text
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/colby_parsons_MMAth/text/channels.tex

    r930a800 r0ec4eb0  
    8080This approach is similar to wait morphing for locks~\cite[p.~82]{Butenhof97} and improves performance in a few ways.
    8181First, each thread interacting with the channel only acquires and releases the internal channel lock once.
    82 As a result, contention on the internal lock is decreased, as only entering threads compete for the lock as unblocking threads do not reacquire the lock.
     82As a result, contention on the internal lock is decreased; only entering threads compete for the lock since unblocking threads do not reacquire the lock.
    8383The other advantage of Go's wait-morphing approach is that it eliminates the bottleneck of waiting for signalled threads to run.
    8484Note, the property of acquiring/releasing the lock only once can also be achieved with a different form of cooperation, called \Newterm{baton passing}.
  • doc/theses/colby_parsons_MMAth/text/intro.tex

    r930a800 r0ec4eb0  
    1313The groundwork for concurrent features in \CFA was implemented by Thierry Delisle~\cite{Delisle18}, who contributed the threading system, coroutines, monitors and other tools.
    1414This thesis builds on top of that foundation by providing a suite of high-level concurrent features.
    15 The features include a @mutex@ statement, channels and a @waituntil@ statement, and an actor system.
     15The features include a @mutex@ statement, channels, a @waituntil@ statement, and an actor system.
    1616All of these features exist in other programming in some shape or form, however this thesis extends the original ideas by improving performance, productivity, and safety.
Note: See TracChangeset for help on using the changeset viewer.