source: doc/proposals/concurrency/text/intro.tex @ 8d722cc

aaron-thesisarm-ehcleanup-dtorsdeferred_resndemanglerjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerresolv-newwith_gc
Last change on this file since 8d722cc was 8d722cc, checked in by Thierry Delisle <tdelisle@…>, 4 years ago

Update 0.10 of the thesis

  • Property mode set to 100644
File size: 1.2 KB
RevLine 
[27dde72]1% ======================================================================
[db0fa7c]2\chapter{Introduction}
[27dde72]3% ======================================================================
4
[8d722cc]5This proposal provides a minimal concurrency API that is simple, efficient and can be reused to build higher-level features. The simplest possible concurrency system is a thread and a lock but this low-level approach is hard to master. An easier approach for users is to support higher-level constructs as the basis of the concurrency, in \CFA. Indeed, for highly productive concurrent programming, high-level approaches are much more popular~\cite{HPP:Study}. Examples are task based, message passing and implicit threading. Therefore a high-level approach is adopted in \CFA
[db0fa7c]6
[8d722cc]7There are actually two problems that need to be solved in the design of concurrency for a programming language: which concurrency and which parallelism tools are available to the programmers. While these two concepts are often combined, they are in fact distinct, requiring different tools~\cite{Buhr05a}. Concurrency tools need to handle mutual exclusion and synchronization, while parallelism tools are about performance, cost and resource utilization.
Note: See TracBrowser for help on using the repository browser.