1. 阻塞I/O通信模型1.性能:一连接一线程模型导致服务端的并发接入数和系统吞吐量受到极大限制2.可靠性:由于IO操作采用同步阻塞模式,当网络拥塞或者逻辑处理缓慢会导致IO线程被挂住,阻塞时间无法预测3.可维护性:IO线程数无法有效控制、资源无法有效共享(多线程并发问题),系统可维护性差2.异步、...
分类:
编程语言 时间:
2014-08-31 18:38:51
阅读次数:
308
思路 主线程负责发送消息,另一线程负责接收消息。服务端和客户端均是如此。 注意 当A方close掉用于通信的socket端口后,该端口是不会立即关闭的。因为此时可能B方的信息还没send完。因此,此时A方的recv仍旧处于阻塞状态,会最后再等待收一次信息。此时,当B方send一个信息给A后,A方re...
分类:
系统相关 时间:
2014-08-31 17:12:01
阅读次数:
283
1.apache-maven-3.2.1-bin.zip和apache-maven-3.2.1-src.zip两个文件中,带有bin的为安装运行文件。2.阻塞队列:add 增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常remove移除并返回队列头部的元素如果队列为...
分类:
其他好文 时间:
2014-08-31 17:07:11
阅读次数:
300
storm事件管理器定义在event.clj中,主要功能就是通过独立线程执行"事件处理函数"。我们可以将"事件处理函数"添加到EventManager的阻塞队列中,EventManager的事件处理线程不断地从阻塞队列中获取"事件处理函数"并执行。EventManager协议协议就是一组函数定义的集...
分类:
其他好文 时间:
2014-08-31 14:21:21
阅读次数:
219
一.RPC协议在分析协议之前,我觉得我们很有必要先搞清楚协议是什么。下面我就谈一点自己的认识吧。如果你学过java的网络编程,你一定知道:当客户端发送一个字节给服务端时,服务端必须也要有一个读字节的方法在阻塞等待;反之亦然。 这种我把它称为底层的通信协议。可是对于一个大型的网络通信系统来说,很显然这...
分类:
其他好文 时间:
2014-08-30 17:34:59
阅读次数:
295
一、ManualResetEvent 该对象有两种信号量状态True和False。构造函数设置初始状态。WaitOne:该方法用于阻塞线程,默认是无限期的阻塞,支持超时阻塞,如果超时就放弃阻塞,这样也就避免了无限期等待的尴尬;Set:手动修改信号量为True,也就是恢复线程执行;ReSet:重置.....
分类:
其他好文 时间:
2014-08-29 12:28:57
阅读次数:
409
原文链接:http://blog.csdn.net/colzer/article/details/8169075IO概念Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个f...
分类:
系统相关 时间:
2014-08-29 10:36:17
阅读次数:
346
Java并发编程:阻塞队列 在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。 在前面我.....
分类:
编程语言 时间:
2014-08-29 09:25:07
阅读次数:
246
NIO 设计背后的基石:反应器模式,用于事件多路分离和分派的体系结构模式。 反应器(Reactor):用于事件多路分离和分派的体系结构模式 通常的,对一个文件描述符指定的文件或设备, 有两种工作方式:?阻塞?与非阻...
分类:
编程语言 时间:
2014-08-28 22:50:56
阅读次数:
331
原文链接:http://blog.csdn.net/historyasamirror/article/details/5778378当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。《IO - 同步,异步,阻塞,非阻塞》是我在开始学习epoll和libevent的时候写的...
分类:
其他好文 时间:
2014-08-28 22:27:16
阅读次数:
276