网络程序中经常会遇到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)这四种概念。同步与异步区别在于调用结果是否通过事件、回调、状态报告等方式告知调用者;同步:调用者一直等待调用结果返回;异步:调用以后不会一直等待结果,会通过事件、回调、状态报告等方式告知调用者;而阻...
分类:
系统相关 时间:
2014-06-16 07:21:16
阅读次数:
330
转:关于BIO | NIO |
AIO的讨论一直存在,有时候也很容易让人混淆,就我的理解,给出一个解释:BIO | NIO |
AIO,本身的描述都是在Java语言的基础上的。而描述IO,我们需要从两个层面:编程语言实现原理底层基础从编程语言层面BIO | NIO | AIO
以Java的角度,理解...
分类:
其他好文 时间:
2014-06-10 08:40:19
阅读次数:
311
在一台服务器中以各数据库的备份文件为数据文件启动多个MySQL实例供SQL Review使用。
之前运行一直没有问题(最多的时候有23个MySQL实例同时运行),后来新配置了一台服务器,启动其对应的实例时失败。
部分错误日志如下:
……
140505 16:05:59 InnoDB: Using Linux native AIO
140505 16:05:59 InnoDB: Wa...
分类:
数据库 时间:
2014-06-03 05:57:02
阅读次数:
323
最后找到了,NioEventLoopGroup,构造这个group的时候传递了一个ThreadFactory参数,所以这个group和Nio学习5——对NIO.2(AIO) Reactor模式封装的拆解中的AsynchronousChannelGroup也是大同小异的!...
分类:
Web程序 时间:
2014-06-02 05:01:53
阅读次数:
412
我们通过nio学习了Reactor模式,但是在java7中又出现了NIO.2,新的异步框架出来了,在上节中的服务端视线中看不到Reactor的影子了,但是Netty in action中写到:But notice that NIO.2 handles threading and the creation of the so-called event loop for you.所以模式还是没变,只是封装了而已!那让我们来分解下AIO(NIO.2)的封装吧!...
分类:
其他好文 时间:
2014-06-01 01:40:11
阅读次数:
388
最近在AIO6.1与SF环境中遇到了AIO的问题,下面是MOS中关于AIO在6.1下的一般变化说明 欢迎大家加入ORACLE超级群:17115662免费解决各种ORACLE问题,以后BLOG将迁移到http://www.htz.pw AIOonAIX6.1(文档ID1328019.1)修改时间:2014-5-6类型:HOWTOInthisDocumentGoalFixA..
分类:
其他好文 时间:
2014-05-25 21:08:13
阅读次数:
367
在 Android 4.4 上实现录放音
背景
Android 自 ICS 开始,音频系统就有了很大的变化,先是抛弃了 alsalib,然后是采用了 AIO,各级框架上,都有了自己的特色,与 Linux 的音频应用渐行渐远,形成了自己独特的音频管理和音频配置功能。总的来说改进还是非常大,至少在用户体验上已经大大的超越了之前的版本。我们就从 4.4 的音频实现上来分析其中的一些变化和实现...
分类:
移动开发 时间:
2014-05-24 23:14:01
阅读次数:
516
网上很多IO资料,对新手来说,越看越晕。根据自己的理解,总结对比了一下OIO、NIO、AIO。
OIO:线程发起IO请求,不管内核是否准备好IO操作,从发起请求起,线程一直阻塞,直到操作完成。如下图:
NIO(reactor模型):线程发起IO请求,立即返回;内核在做好IO操作的准备之后,通过调用注册的回调函数通知线程做IO操作,线程开始阻塞,直到操作完成。如下图:
AIO(...
分类:
其他好文 时间:
2014-05-23 01:00:05
阅读次数:
470
nodejs是一个通过v8引擎解析javascript的服务器平台,并不是js框架。V8是为google开源的js引擎,chrome就是用的他,据大牛们介绍,V8直接把js编译成机器码,而不是脚本解释执行,所以运行速度非常快。Nodejs之后我就简称Node了,使用c++写的。基于事件驱动,非阻塞IO模型,也就..
分类:
Web程序 时间:
2014-05-15 08:32:33
阅读次数:
434
在发现云服务器读取OCS缓存的“黑色0.1秒”是发生在socket读取数据时,而且是发生在读取开始的字节,甚至在socket写数据时(比如写入缓存key)也会出现超过50ms的情况,我们的好奇心被激发到一个新的高度。
分类:
其他好文 时间:
2014-05-14 08:15:22
阅读次数:
494