Which begs the question of why you need to explicitly do the lock management while the actor abstraction is meant to do that for you. 
Why not let each App has an Actor and just send message to that actor, and that just processes it one at a time without a explicit lock?