您的位置:首页 > 其它

同步异步和阻塞非阻塞

2016-07-08 09:33 120 查看
真正弄明白一个概念的语义,然后站在设计者的角度去改善这个语义的实现方式。如果你想走的更远,那就跳出用这个概念来描述事物的条条框框,自己创造一套概念系统,用来描述这个领域的事物,解决这个领域的问题。

同步异步

按照分解法的认知,世界上的万物关系都可以最终划分为两元关系。以下所描述的异步针对的是最简单的场景(二元场景),假如有个契约的双方,称之为使用方和被使用方。使用方在利用被使用方的服务,使用方在使用服务的过程中,同一个服务所在的系统上下文可以插入其他服务的系统上下文,那它在使用服务的时候就是异步的。也就是说这个服务假如由一个操作序列{1,2,3,4,5…n}和上下文t构成,异步实现就是允许这个服务等价为t:{1,2,3,4}和t:{5…n}。站在被使用者的角度就没有这么一说了,他才不关心你的情况,他的责任是必须把自己的责任(提供服务)完成才能交代客户。所以如果被服务方的服务能力不够,采取任何手段都是没用的。

阻塞非阻塞

阻塞本质是一种系统的状态。它是针对系统的整体状态而言的,但是系统局部的阻塞往往会导致整体的阻塞。系统,最小的系统可以看做是一个线程,也就是cpu最小的执行单位。系统被阻塞住类比于线程被挂起,被剥夺了使用cpu进行计算的能力。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: