https://bbagwang.com/posts/game-server-development/3-lock/