<?xml version="1.0" encoding="UTF-8"?><xml><records><record><source-app name="Biblio" version="6.x">Drupal-Biblio</source-app><ref-type>17</ref-type><contributors><authors><author><style face="normal" font="default" size="100%">Carlos Baquero Moreno</style></author><author><style face="normal" font="default" size="100%">Francisco Moura</style></author></authors></contributors><titles><title><style face="normal" font="default" size="100%">Concurrency annotations in C++</style></title><secondary-title><style face="normal" font="default" size="100%">ACM SigPlan Notices</style></secondary-title></titles><dates><year><style  face="normal" font="default" size="100%">1994</style></year></dates><urls><related-urls><url><style face="normal" font="default" size="100%">https://haslab.uminho.pt/sites/default/files/cbm/files/10.1.1.41.4693.pdf</style></url></related-urls></urls><number><style face="normal" font="default" size="100%">7</style></number><publisher><style face="normal" font="default" size="100%">ACM</style></publisher><volume><style face="normal" font="default" size="100%">29</style></volume><pages><style face="normal" font="default" size="100%">61–67</style></pages><language><style face="normal" font="default" size="100%">eng</style></language><abstract><style face="normal" font="default" size="100%">&lt;p&gt;This paper describes CA/C++, Concurrency Annotations in C++, a language extension that regulates method invocations from multiple threads of execution in a shared-memory multiprocessor system. This system provides threads as an orthogonal element to the language, allowing them to travel through more than one object. Statically type-ckecked synchronous and asynchronous method invocations are supported, with return values from asynchronous invocations accessed through first class future-like objects. Method invocations are regulated with synchronization code defined in a separate class hierarchy, allowing separate definition and inheritance of synchronization mechanisms. Each method is protected by an access flag that can be switched in pre and post-actions, and by a predicate. Both must evaluate to true in order to enable a thread to animate the method code. Flags and method predicates are independently redefinable along the inheritance chain, thus avoiding the inheritance anomaly.&lt;/p&gt;
</style></abstract></record></records></xml>