Ignore:
Timestamp:
Sep 5, 2023, 5:48:31 PM (10 months ago)
Author:
caparsons <caparson@…>
Branches:
master
Children:
1f10959, efe39bb
Parents:
f54e6ec
Message:

edited thesis to incorporate Gregors comments

File:
1 edited

Legend:

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

    rf54e6ec raae9c17  
    3434A thread terminates by returning from the main routine where it starts.
    3535
     36\section{Existing Concurrency Features}
     37\CFA currently provides a suite of concurrency features including futures, locks, condition variables, generators, coroutines, monitors.
     38Examples of these features are omitted as most of them are the same as their counterparts in other languages.
     39It is worthwhile to note that all concurrency features added to \CFA are made to be compatible each other.
     40The laundry list of features above and the ones introduced in this thesis can be used in the same program without issue.
     41
     42Solving concurrent problems requires a diverse toolkit.
     43This work aims to flesh out \CFA's concurrent toolkit to fill in gaps.
     44Futures are used when a one-shot result needs to be safely delivered concurrently, and are especially useful when the receiver needs to block until the result is ready.
     45When multiple values have to be sent, or more synchronization is needed, futures are not powerful enough, which introduces the need for channels.
     46A close cousin of channels is actor systems, which take message passing a step further and go beyond channels to provide a level of abstraction that allows for easy scalability and separation of concerns.
     47The @waituntil@ and @mutex@ statements provide utilities allowing for easier use of the existing features.
     48All the contributions of this thesis provide the ability to solve concurrent problems that formerly would require a user to either implement a similar feature themselves or construct an ad-hoc solution.
     49
    3650% Local Variables: %
    3751% tab-width: 4 %
Note: See TracChangeset for help on using the changeset viewer.