Concurrency in C∀

Loading...
Thumbnail Image

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∀

LC Keywords

Citation