every time you or some code calls an operation on blockchain, it will immediately return, and put the work on the stack. The proactor loop (in boost::asio) will take the work off, call it then call the completion handler you passed when you first called the method.
@narodnik aha right here we go. now, can this be used as a way of load balancing work accross OS threads??
e.g. the user code is in OS thread A, and asks blockchain to do some work, meanwhiel Boost ASIO's proactor loop is running on threads B and C