z-logo
Premium
An efficient and flexible C++ library for concurrent programming
Author(s) -
Poggi Agostino,
Rimassa Giovanni
Publication year - 1998
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/(sici)1097-024x(1998110)28:13<1437::aid-spe210>3.0.co;2-o
Subject(s) - concurrency , computer science , inheritance (genetic algorithm) , synchronization (alternating current) , set (abstract data type) , programming language , interface (matter) , concurrent object oriented programming , anomaly (physics) , multiple inheritance , theoretical computer science , distributed computing , object (grammar) , object oriented programming , programming paradigm , parallel computing , artificial intelligence , reactive programming , inductive programming , computer network , biochemistry , chemistry , channel (broadcasting) , physics , bubble , maximum bubble pressure method , gene , condensed matter physics
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. © 1998 John Wiley & Sons, Ltd.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here