====== Can I use DCI in a system with parallelism or asynchrony? ====== Most programming approaches (procedural, object-oriented, functional, applicative, logical) assume nothing about the threadedness of the environment. Most technologies in CS in fact require additional support for multi-threading. DCI provides no explicit facilities for either multithreading or parallelism. Neither does procedural programming or object-oriented programming. Parallel and multithreaded programs nonetheless exist in both procedural and object-oriented programming languages. There is no fundamental reason why they can't exist in a DCI implementation. Regarding function callbacks, continuations or other asynchronous-related concepts, there is no hindrance using them in DCI. For example in web applications, an AJAX request in a RoleMethod can simply use another RoleMethod as callback.