Make sure to take the dllist instance lock and the thread_state.execution_mutex in the same order everywhere, hence need the execution_mutex lock outside of the dllist instance lock, due to that the destroyActorInstance function takes the locks in this order. This also slightly increase the performance at the cost of not being able to remove or add actors during one actor scheduling loop.