Your functions are not const; you do not need to lock. If you want to allow the user to call functions in parallel, then you need to make the functions const, so the user knows that is safe.