merge from alsotang/async_demo:master into palmtoy/async_demo:master