from chenshuo  to learn more about multi-thread