I have a different answer to this problem. If you get stuck, send me an email and work on something else for a while. That way I don't get interrupted and you get your answer. Asynchronous communication is great.
It is very high form some types of activities and brains, and even higher if the interruption is raised (!) after a long work session, as the interrupted has to 'swap out his context' (what he was thinking), tackle the question, then 'swap in his previous context' before resuming.
https://www.perpetual-beta.org/weblog/leave-me-alone.html
"The average lost time is 23 minutes per major interruption ((...)) For developers, it is far worse" https://www.brightdevelopers.com/the-cost-of-interruption-fo...