即 Guarded Suspension,用在一个线程等待另一个线程的执行结果
要点
一个线程等待另一个线程的执行结果
执行结果
测试,没有超时 输出 测试,超时 输出 4. 多任务版 GuardedObject 图中 Futures 就好比居民楼一层的信箱(每个信箱有房间编号),左侧的 t0,t2,t4 就好比等待邮件的居民,右 侧的 t1,t3,t5 就好比邮递员 如果需要在多个类之间使用 GuardedObject 对象,作为参数传递不是很方便,因此设计一个用来解耦的中间类, 这样不仅能够解耦【结果等待者】和【结果生产者】,还能够同时支持多个任务的管理
新增 id 用来标识 Guarded Object 中间解耦类 业务相关类 测试 某次运行结果