source: doc/proposals/concurrency/text/intro.tex@ ab4bff5

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors deferred_resn demangler enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new with_gc
Last change on this file since ab4bff5 was dcfc4b35, checked in by Thierry Delisle <tdelisle@…>, 8 years ago

Added internals section and updated v0.10 up to chapter 4

  • Property mode set to 100644
File size: 1.3 KB
RevLine 
[27dde72]1% ======================================================================
[db0fa7c]2\chapter{Introduction}
[27dde72]3% ======================================================================
4
[dcfc4b35]5This thesis provides a minimal concurrency \acrshort{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 concurrency. 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. The high-level approach and its minimal \acrshort{api} are tested in a dialect of C, call \CFA. [Is there value to say that this thesis is also an early definition of the \CFA language and library in regards to concurrency?]
[db0fa7c]6
[dcfc4b35]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 programmer. 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.