An efficient and flexible C++ library for concurrent programming

被引:0
|
作者
Poggi, A [1 ]
Rimassa, G [1 ]
机构
[1] Univ Parma, Dipartimento Ingn Informaz, I-43100 Parma, Italy
来源
SOFTWARE-PRACTICE & EXPERIENCE | 1998年 / 28卷 / 13期
关键词
concurrent object-oriented programming languages; interference between inheritance and concurrency; C++; software reuse;
D O I
10.1002/(SICI)1097-024X(1998110)28:13<1437::AID-SPE210>3.0.CO;2-O
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A major problem for the integration of concurrency in object-oriented languages is the so-called inheritance anomaly, i.e. the conflicts between inheritance and concurrency that often cause the need to redefine inherited methods in order to maintain the integrity of objects. Several solutions have been proposed for resolving these conflicts. However, some of them are incomplete, and do not solve all types of inheritance anomaly; others make the definition of classes complex and/or their implementation inefficient. This paper describes a C++ library for concurrent programming that provides a comprehensive framework particularly suitable for coarse-grained distributed applications. This library copes with the inheritance anomaly problem, presenting a solution that minimizes the redefinition of inherited methods without increasing the complexity to write them. This solution is based on the use of a special set of methods, called interface methods, composed of a body and two sets of synchronization constraints. These two sets of synchronization constraints are respectively used to enable the execution of their method body and to disable the methods that cannot be executed after their method. (C) 1998 John Wiley & Sons, Ltd.
引用
收藏
页码:1437 / 1463
页数:27
相关论文
共 50 条
  • [21] Functional programming in C++
    McNamara, B
    Smaragdakis, Y
    ACM SIGPLAN NOTICES, 2000, 35 (09) : 118 - 129
  • [22] Programming with contracts in C++
    Diggins, C
    DR DOBBS JOURNAL, 2005, 30 (03): : 42 - 43
  • [23] Embedded programming with C++
    Williams, S
    PROCEEDINGS OF THE THIRD USENIX CONFERENCE ON OBJECT-ORIENTED TECHNOLOGIES AND SYSTEMS (COOTS), 1997, : 131 - 143
  • [24] Efficient implementation of portable C*-like data-parallel library in C++
    Matsuda, M
    Sato, M
    Ishikawa, Y
    ADVANCES IN PARALLEL AND DISTRIBUTED COMPUTING - PROCEEDINGS, 1997, : 398 - 405
  • [25] ConC++: A concurrent C++
    Li, BQ
    Xu, BW
    Yang, HJ
    Chu, WCC
    24TH ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COSPSAC 2000), 2000, 24 : 223 - 227
  • [26] Approach to concurrent extension of C++
    Chen, Jiajun
    Zhao, Jianhua
    Zheng, Guoliang
    Ruan Jian Xue Bao/Journal of Software, 1998, 9 (08): : 586 - 591
  • [27] AMGCL -A C++ library for efficient solution of large sparse linear systems
    Demidov, Denis
    SOFTWARE IMPACTS, 2020, 6
  • [28] Library Abstraction for C/C++ Concurrency
    Batty, Mark
    Dodds, Mike
    Gotsman, Alexey
    ACM SIGPLAN NOTICES, 2013, 48 (01) : 235 - 248
  • [29] Standard C++ library redux
    不详
    IEEE SPECTRUM, 1996, 33 (05) : 81 - 82
  • [30] Evolution of the C++ standard library
    Dodgson, D
    ACM SIGPLAN NOTICES, 1996, 31 (12) : 22 - 26