Advanced control‐flow and concurrency in C∀. (1st December 2020)
- Record Type:
- Journal Article
- Title:
- Advanced control‐flow and concurrency in C∀. (1st December 2020)
- Main Title:
- Advanced control‐flow and concurrency in C∀
- Authors:
- Delisle, Thierry
Buhr, Peter A. - Abstract:
- Summary: C ∀ is a polymorphic, nonobject‐oriented, concurrent, backwards compatible extension of the C programming language. This paper discusses the design philosophy and implementation of its advanced control‐flow and concurrent/parallel features, along with the supporting runtime written in C ∀. These features are created from scratch as ISO C has only low‐level and/or unimplemented concurrency, so C programmers continue to rely on library approaches like pthreads. C ∀ introduces modern language‐level control‐flow mechanisms, like generators, coroutines, user‐level threading, and monitors for mutual exclusion and synchronization. The runtime provides significant programmer simplification and safety by eliminating spurious wakeup and monitor barging. The runtime also ensures multiple monitors can be safely acquired in a deadlock‐free way, and this feature is fully integrated with all monitor synchronization mechanisms. All control‐flow features integrate with the C ∀ polymorphic type‐system and exception handling, while respecting the expectations and style of C programmers. Experimental results show comparable performance of the new features with similar mechanisms in other concurrent programming languages.
- Is Part Of:
- Software, practice & experience. Volume 51:Number 5(2021)
- Journal:
- Software, practice & experience
- Issue:
- Volume 51:Number 5(2021)
- Issue Display:
- Volume 51, Issue 5 (2021)
- Year:
- 2021
- Volume:
- 51
- Issue:
- 5
- Issue Sort Value:
- 2021-0051-0005-0000
- Page Start:
- 1005
- Page End:
- 1042
- Publication Date:
- 2020-12-01
- Subjects:
- C -- C∀ (Cforall) -- coroutine -- concurrency -- generator -- monitor -- parallelism -- runtime -- thread
Computer software -- Periodicals
Computer programming -- Periodicals
Computer programs -- Periodicals
005.3 - Journal URLs:
- http://onlinelibrary.wiley.com/ ↗
- DOI:
- 10.1002/spe.2925 ↗
- Languages:
- English
- ISSNs:
- 0038-0644
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 8321.453000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 16194.xml