await 改写为无锁方式，可以在任意时候调用 end