上文我们描述了五中IO类型。第一种同步阻塞模型我们我们称之为BIO(Blocking IO), 第三种IO复用模型我们称之为NIO(Nonblocking IO)。 上图我们可以很容易的发现 BIO会为每个socket请求创建一个线程,而NIO可以通过一个线程处理多个请求。当然,我们可以为BIO构建 ...
分类:
其他好文 时间:
2018-09-26 17:13:34
阅读次数:
210
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待 ...
分类:
其他好文 时间:
2018-09-26 16:08:22
阅读次数:
178
1、相关类 Executors ExecutorService Callable ThreadPool Future 2、相关接口 Executor Executor接口的使用: ExecutorService接口的使用:(继承Executor接口) *submit方法(执行runnble、call ...
分类:
编程语言 时间:
2018-09-11 14:17:55
阅读次数:
264
IO同步阻塞与同步非阻塞(IO为同步阻塞形式,NIO为同步非阻塞形式,NIO并没有实现异步,在JDK1.7后升级NIO库包,支持异步非阻塞(AIO),阻塞IO和非阻塞IO都是在网络编程的时候产生的,本地是没有这两个概念的) IO(BIO)和NIO区别: 其本质就是阻塞和非阻塞的区别。 BIO:同步阻 ...
分类:
其他好文 时间:
2018-08-15 14:57:37
阅读次数:
178
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待 ...
分类:
其他好文 时间:
2018-08-14 22:57:15
阅读次数:
174
一、强一致性事务的瓶颈 在《分布式强一致性事务》一文中介绍了分布式事务的常用协议2PC二阶段提交,虽然2PC能在很大程度上实现分布式事务中各节点的ACID,但也存在同步阻塞问题,协调者单点故障,协调者因网络原因导致的通知不周或收不全参与者回复导致的异常等问题。 同时,即使能稳定的使用二阶段提交实现分 ...
分类:
其他好文 时间:
2018-08-12 18:41:15
阅读次数:
137
所谓同步和异步 就是 请求发起方对结果的获取是主动去获取结果还是等待被动通知 同步 一直在等待应答结果 同步阻塞 先处理其他问题,不断轮询查看结果 同步非阻塞 异步(回调 事件监听) 服务方通知,请求方一直等待应答结果 异步阻塞 发出请求后处理其他问题,被动等待服务方通知 阻塞 非阻塞 在线程中有对 ...
分类:
其他好文 时间:
2018-08-08 23:41:58
阅读次数:
291
前言 不知道你是否遇到过这样的情况,去小卖铺买东西,付了钱,但是店主因为处理了一些其他事,居然忘记你付了钱,又叫你重新付。又或者在网上购物明明已经扣款,但是却告诉我没有发生交易。这一系列情况都是因为没有事务导致的。这说明了事务在生活中的一些重要性。有了事务,你去小卖铺买东西,那就是一手交钱一手交货。 ...
分类:
其他好文 时间:
2018-08-06 21:01:00
阅读次数:
160
异步与同步 阻塞与非阻塞 回调--异步回调、同步回调 promise apply与call 同步:亲力亲为的做某一件事。 张三叫李四去吃饭,一直等李四忙完去吃饭。 打电话 异步:事件委托 老总把任务分给下属,老总在这期间可以做自己的事情。等下属忙完之后直接拿结果。 张三等李四吃饭,自己先去,李四忙完 ...
分类:
其他好文 时间:
2018-07-25 17:43:02
阅读次数:
118
1、BIO编程 1.1、传统的BIO编程 网络编程的基本模型是C/S模型,即两个进程间的通信。 服务端提供IP和监听端口,客户端通过连接操作想服务端监听的地址发起连接请求,通过三次握手连接,如果连接成功建立,双方就可以通过套接字进行通信。 传统的同步阻塞模型开发中,ServerSocket负责绑定I ...
分类:
编程语言 时间:
2018-07-25 10:24:48
阅读次数:
165