最近学习时碰到事件驱动和非阻塞的相关知识,随之想到了Java中的Reactor、io与nio的一些东西;在前辈的博客上翻了翻、复习复习,在此记录一番。实在找不到比较大点的东西,于是随便弄了个压缩包,大小在1G左右;写个程序模拟一下下载,开两个客户端线程请求下载;结果会是:一个请求会一直阻塞,直到一个...
分类:
编程语言 时间:
2014-10-09 21:28:17
阅读次数:
201
1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式: 同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。 例如普通B/S模式(...
分类:
系统相关 时间:
2014-10-09 15:16:13
阅读次数:
415
将所有标签放置在页面底部,紧靠关闭标签的上方。此方法可以保证页面在脚本运行之前完成解析。将脚本成组打包。页面的标签越少,页面的加载速度就越快,响应也更迅速。不论外部脚本文件还是内联代码都是如此。有几种方法可以使用非阻塞方式下载Javascript:为标签添加defer属性动态创建元素,用它下载并执行...
分类:
Web程序 时间:
2014-10-09 14:25:03
阅读次数:
204
lock-free是一种基于原子变量类来构建的非阻塞同步算法。比较并交换(compare-and-swap)我们经常会先检查某项东西,然后对其进行修改,如if(X...) {X=...}。这种行为在多线程下并不是线程安全的。那我们该如何做呢?一种方法是对操作进行加锁,如synchornized(ob...
分类:
其他好文 时间:
2014-10-07 18:37:35
阅读次数:
151
iPhone的标准推荐是CFNetwork 库编程,其封装好的开源库是 cocoa AsyncSocket库,用它来简化CFNetwork的调用,它提供了异步操作 主要特性有: 队列的非阻塞的读和写,而且可选超时。你可以调用它读取和写入,它会当完成后告知你自动的socket接收。如果你调用它...
分类:
其他好文 时间:
2014-10-04 14:04:26
阅读次数:
400
原文链接http://www.wangafu.net/~nickm/libevent-book/Ref0_meta.htmlLibevent使用手册:前瞻总览:Libevent是一个用来写高性能跨平台非阻塞IO程序的库.它的设计目标如下:跨平台 一个使用Libevent的程序应当能够运行于libe....
分类:
其他好文 时间:
2014-10-04 12:42:16
阅读次数:
196
原文摘自我的前端博客,欢迎大家来访问http://www.hacke2.cn之前负责过一个智能家居项目的开发,外包重庆一家公司的,我们主要开发服务器监控和集群版管理。移动端和机顶盒的远程通信是用中间服务器完成交互,服务器使用MINA NIO框架,非阻塞式的,可以看看以前博客了解下某智能家居项目框架学...
分类:
Web程序 时间:
2014-10-04 01:27:45
阅读次数:
352
之前负责过一个智能家居项目的开发,外包重庆一家公司的,我们主要开发服务器监控和集群版管理。
移动端和机顶盒的远程通信是用中间服务器完成交互,服务器使用MINA NIO框架,非阻塞式的,可以看看以前博客了解下某智能家居项目框架学习总结,或者其他资料JAVA NIO原理,基于MINA框架快速开发网络应用程序。...
分类:
Web程序 时间:
2014-10-04 00:12:15
阅读次数:
413
ngx_lua出来很长时间了,但一直没有关注过,最近有一个I/O密集型的项目,用PHP性能严重不足,但是通过C开发扩展成本很大,对需求也不能及时响应,结果尝试了一下lua,结果非常喜人,他的同步非阻塞I/O,协同程序等等,让他的性能无与伦比!在项目的开发中需要用到consistenthas..
分类:
其他好文 时间:
2014-09-30 13:56:50
阅读次数:
294
一.同步和异步区别 简单说:同步是阻塞模式,异步是非阻塞模式。 举个例子:普通B/S模式(同步)AJAX技术(异步) 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕...
分类:
其他好文 时间:
2014-09-28 22:30:25
阅读次数:
230