Changeset 0ec4eb0 for doc/theses/colby_parsons_MMAth
- Timestamp:
- Jul 4, 2023, 1:10:30 PM (14 months ago)
- Branches:
- master
- Children:
- b2ecd48
- Parents:
- 930a800
- Location:
- doc/theses/colby_parsons_MMAth/text
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/colby_parsons_MMAth/text/channels.tex
r930a800 r0ec4eb0 80 80 This approach is similar to wait morphing for locks~\cite[p.~82]{Butenhof97} and improves performance in a few ways. 81 81 First, 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 asunblocking threads do not reacquire the lock.82 As a result, contention on the internal lock is decreased; only entering threads compete for the lock since unblocking threads do not reacquire the lock. 83 83 The other advantage of Go's wait-morphing approach is that it eliminates the bottleneck of waiting for signalled threads to run. 84 84 Note, 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 13 13 The groundwork for concurrent features in \CFA was implemented by Thierry Delisle~\cite{Delisle18}, who contributed the threading system, coroutines, monitors and other tools. 14 14 This thesis builds on top of that foundation by providing a suite of high-level concurrent features. 15 The features include a @mutex@ statement, channels anda @waituntil@ statement, and an actor system.15 The features include a @mutex@ statement, channels, a @waituntil@ statement, and an actor system. 16 16 All 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.