Action Callbacks and Threads

From what I’m seeing on forums and such, cocos2d-x is single threaded, which is great for what I’m doing. But when are the callbacks for actions and touches thrown if the PC is currently in a method? Is it at the end of the current method loop or is it immediately? And if it’s immediately, what would be the best way to handle it if it’s in a critical region?