手动实现一个future的难度不在于实现future。而是确定waker的处理,什么时候激活我们的future。