This library provides an implementation of the actor model for C++. It uses a network transparent messaging system to ease development of both concurrent and distributed software.
libcppa uses a thread pool to schedule actors by default. A scheduled actor should not call blocking functions. Individual actors can be spawned (created) with a special flag to run in an own thread if one needs to make use of blocking APIs.
Writing applications in libcppa requires a minimum of gluecode and each context is an actor. Even main is implicitly converted to an actor if needed.