| Dedicated object | Language primitive | Grammar extensions | |
|---|---|---|---|
| CC++ | . | . | par{}, parfor{}, spawn |
| DC++ | Instance of DcThread | . | . |
| DoPVM | . | initiate() | . |
| Mercury | Instance of Thread | . | . |
| Presto | Instance of Thread | . | . |
| Features | |
|---|---|
| C** | Parallel member function defined by user |
| Composites | Group functions |
| Dome | Templates |
| DPC++ | Parallel types |
| Mentat | Data-flow approach |
| pC++ | Parallel member function defined by user |
| QPC++ | Broadcasting for a group |
| Active Object Creation | Communication Between Active Objects | Granularity | |
|---|---|---|---|
| Arjuna | Stub mechanism | Member function call Synchronous(RPC) | A |
| Avalon/C++ | Standard C++ | Member function call Synchronous | . |
| Charm++ | new_chare() | Explicit message passing Asynchronous | A |
| Concurrent C++ | create | Member function call Synchronous or asynchronous | . |
| KAROS | Standard C++ | Member function call Asynchronous | . |
| LITP-C++ | Standard C++ | Member function call Synchronous or asynchronous | . |
| Open C++ | Standard C++ | Member function call Synchronous | A |
| Panda | Standard C++ | Member function call Synchronous | B |
| QPC++ | Standard C++ | Member function call Synchronous or asynchronous | B |
| UC++ | activenew | Member function call Asynchronous | A |
| µC++ | Standard C++ | Member function call Synchronous | B |
A means 1 active object is mapped on 1 Unix process
B means More than 1 active object can be mapped on a Unix process
and 1 or n lightweigth processes will be bounded to each active
objects.