On the concurrency of C++
Xining Li, He Huang · 2002
The paper presents a proposal for introducing concurrency to a sequential object-oriented programming language, C++. We call the extended language CC++. It distinguishes two categories of objects: process objects and class objects. Process objects are coarse-grain concurrent entities. Each process object has its own sequential control thread and an optional public interface accessible by other process objects. A set of process objects is synchronized and coordinated by a remote function call (RFC) mechanism. Indeterministic RFC's are selected or sequenced by guarded function declarations. Important objectives of this design are simple syntax, clear semantics and strong expressive power. Examples illustrating CC++ features are given.>