I’ve implemented a lot of network protocols lately, for work and private projects. I’d like to show you the basic implementation I mostly use and has been proven to be very resource friendly, fast and stable.

You might have come across the case, that you had a simple class which got the new requirement to be thread-safe for upcoming use-cases. I have seen developers who simple wrapped all methods with a locked mutex, like this: