Concurrency in C∀
Loading...
Date
2018-01-18
Authors
Delisle, Thierry
Advisor
Buhr, Peter
Journal Title
Journal ISSN
Volume Title
Publisher
University of Waterloo
Abstract
C∀ is a modern, non-object-oriented extension of the C programming language. This thesis
serves as a definition and an implementation for the concurrency and parallelism C∀ offers. These
features are created from scratch due to the lack of concurrency in ISO C. Lightweight threads
are introduced into the language. In addition, monitors are introduced as a high-level tool for
control-flow based synchronization and mutual-exclusion. The main contributions of this thesis
are two-fold: it extends the existing semantics of monitors introduce by [37] to handle monitors in
groups and also details the engineering effort needed to introduce these features as core language
features. Indeed, these features are added with respect to expectations of C programmers, and
integrate with the C∀ type-system and other language features.
Description
Keywords
programming language, concurrency and parallelism, threading, C∀