在高性能的IO体系设计中,有几个名词概念常常会使我们感到迷惑不解。具体如下: 1 什么是同步? 2 什么是异步? 3 什么是阻塞? 4 什么是非阻塞? 5 什么是同步阻塞? 6 什么是同步非阻塞? 7 什么是异步阻塞? 8 什么是异步非阻塞? 先来举个实例生活中的例子: 如果你想吃一份宫保鸡丁盖饭: ...
分类:
编程语言 时间:
2017-12-15 21:36:34
阅读次数:
159
1.线程状态图: 5种状态: 1.新建(new) 2.就绪(Runnable) 3.运行(Running) 4.阻塞(Blocked) 等待阻塞:调用了wait()方法 同步阻塞:调用了synchronized()方法或执行了synchronized代码块,但是没有获取到对象的同步锁。 其他阻塞:调 ...
分类:
编程语言 时间:
2017-12-10 17:07:27
阅读次数:
193
老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种 ...
分类:
其他好文 时间:
2017-12-04 19:05:27
阅读次数:
152
老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种 ...
分类:
其他好文 时间:
2017-11-30 21:46:59
阅读次数:
109
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7723174.html 前面讲到:Java IO编程全解(二)——传统的BIO编程 为了解决同步阻塞I/O面临的一个链路需要一个线程处理的问题,后来有人对它的线程模型进行了优化,后端通过一个线程池来处理多个客户 ...
分类:
编程语言 时间:
2017-11-06 17:16:33
阅读次数:
267
项目简介和code见《同步异步和阻塞2-测试小项目》 1. 实现 同步的实现很简单,依次call2次 IO() 函数,此时OnStart()由于是在主线程中调用的,IO()函数会阻塞主线程,当IO()完成后然后将结果通知给UI后立即返回。 当然,由于IO是阻塞的,所以所谓的IO处理进度是无法实现的, ...
分类:
其他好文 时间:
2017-11-04 19:29:15
阅读次数:
215
在《同步异步和阻塞1》中,分别说明了3种同步异步和阻塞非阻塞的优缺点,从这个blog开始,我们用一个小项目来进一步深入的看看他们的优缺点。 1. 项目简介 code : https://files.cnblogs.com/files/organic/sync_io.zip 编译 : C++, VS2 ...
分类:
其他好文 时间:
2017-11-04 18:01:57
阅读次数:
134
阻塞和非阻塞,同步和异步是两个不同的概念,两者很容易混淆。 设有程序块A和程序块B。A调用B。 如果在B返回之前,A一直等待,直到B返回,A才继续执行。那么这属于同步阻塞。 如果在B返回之前,A可以继续执行,然后A时不时地去查看B是否返回。那么这属于同步非阻塞。 如果在B返回之前,A一直等待。直到B ...
分类:
其他好文 时间:
2017-10-27 01:41:12
阅读次数:
117
1.关于Netty的基本认知:在JDK1.4推出JavaNIO之前,基于Java的所有Socket通信都采用的BIO(同步阻塞式IO),同步阻塞式IO存在巨大的性能和可靠性瓶颈,无法适用于高性能服务器的开发。虽然后来出现了伪异步I/O通信框架,但它仅仅是对之前I/O线程模型的一个简单优化。在JDK1.4之..
分类:
Web程序 时间:
2017-10-24 22:48:40
阅读次数:
360
同步异步和阻塞是个有关联,但有有区别的东西。很多时候会从直觉上认为 : 同步 = 阻塞, 异步 = 非阻塞。 但实际上他们是完全描述的不同的东西: 同步异步是从request –> Receive Result这个过程的不同来讲的。 而阻塞是指在等待Request结果时,线程是否会挂起。 对于一个I... ...
分类:
其他好文 时间:
2017-10-23 23:08:28
阅读次数:
277