ADT
Last change
on this file since 044ae62 was d1c51b1, checked in by Peter A. Buhr <pabuhr@…>, 2 years ago |
small updates
|
-
Property mode
set to
100644
|
File size:
1.5 KB
|
Rev | Line | |
---|
[6e83384] | 1 | % ======================================================================
|
---|
| 2 | % ======================================================================
|
---|
[1e6cecb] | 3 | \chapter{Introduction}\label{s:intro}
|
---|
[6e83384] | 4 | % ======================================================================
|
---|
| 5 | % ======================================================================
|
---|
| 6 |
|
---|
[9a5a2cd] | 7 | Concurrent programs are the wild west of programming because determinism and simple ordering of program operations go out the window.
|
---|
| 8 | To seize the reins and write performant and safe concurrent code, high-level concurrent-language features are needed.
|
---|
| 9 | Like any other craftsmen, programmers are only as good as their tools, and concurrent tooling and features are no exception.
|
---|
[d1c51b1] | 10 |
|
---|
| 11 | This thesis presents a suite of high-level concurrent-language features implemented in the new programming-language \CFA.
|
---|
[9a5a2cd] | 12 | These features aim to improve the performance of concurrent programs, aid in writing safe programs, and assist user productivity by improving the ease of concurrent programming.
|
---|
| 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 | This thesis builds on top of that foundation by providing a suite of high-level concurrent features.
|
---|
[d1c51b1] | 15 | The features include a @mutex@ statement, channels and a @waituntil@ statement, and an actor system.
|
---|
[9a5a2cd] | 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
TracBrowser
for help on using the repository browser.