multi-thread program: mutex and lazy initilize