Concurrent C++: Concurrent programming with class(es)

Software - Practice and Experience - Tập 18 Số 12 - Trang 1157-1177 - 1988
Narain Gehani1, William D. Roome1
1AT&T Bell Labs.,Murray Hill, NJ

Tóm tắt

AbstractC++ and Concurrent C are both upward‐compatible supersets of C that provide data abstraction and parallel programming facilities, respectively. Although data abstraction facilities are important for writing concurrent programs, we did not provide data abstraction facilities in Concurrent C because we did not want to duplicate the C++ research effort. Instead, we decided that we would eventually integrate C++ and Concurrent C facilities to produce a language with both data abstraction and parallel programming facilities, namely, Concurrent C++. Data abstraction and parallel programming facilities are orthogonal. Despite this, the merger of Concurrent C and C++ raised several integration issues.In this paper, we will give introductions to C++ and Concurrent C, give two examples illustrating the advantages of using data abstraction facilities in concurrent programs, and discuss issues in integrating C++ and Concurrent C to produce Concurrent C++.

Từ khóa


Tài liệu tham khảo

Kernighan B. W., 1978, The C Programming Language

Gehani N. H., 1986, Concurrent C, Software—Practice and Experience, 16, 821, 10.1002/j.1097-024X.1986.tb00013.x

R. F.Cmelik N. H.GehaniandW. D.Roome ‘Experience with multiple processor versions of Concurrent C’ to be published in IEEE Trans. Software Engineering.

Stroustrup B., 1986, The C++ Programming Language

Smith‐Thomas B., 1984, The concurrent C window manager: description and user guide

10.1145/42392.42397

10.1145/355620.361161

10.1109/TSE.1975.6312840

Gehani N. H., 1988, Capsules: a shared memory access mechanism