真正弄明白一个概念的语义,然后站在设计者的角度去改善这个语义的实现方式。如果你想走的更远,那就跳出用这个概念来描述事物的条条框框,自己创造一套概念系统,用来描述这个领域的事物,解决这个领域的问题。
同步异步
按照分解法的认知,世界上的万物关系都可以最终划分为两元关系。以下所描述的异步针对的是最简单的场景(二元场景),假如有个契约的双方,称之为使用方和被使用方。使用方在利用被使用方的服务,使用方在使用服务的过程中,同一个服务所在的系统上下文可以插入其他服务的系统上下文,那它在使用服务的时候就是异步的。也就是说这个服务假如由一个操作序列{1,2,3,4,5…n}和上下文t构成,异步实现就是允许这个服务等价为t:{1,2,3,4}和t:{5…n}。站在被使用者的角度就没有这么一说了,他才不关心你的情况,他的责任是必须把自己的责任(提供服务)完成才能交代客户。所以如果被服务方的服务能力不够,采取任何手段都是没用的。
阻塞非阻塞
阻塞本质是一种系统的状态。它是针对系统的整体状态而言的,但是系统局部的阻塞往往会导致整体的阻塞。系统,最小的系统可以看做是一个线程,也就是cpu最小的执行单位。系统被阻塞住类比于线程被挂起,被剥夺了使用cpu进行计算的能力。