慢系统调用(slow system call):此术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用有可能永远无法返回,多数网络支持函数都属于这一类。如:若没有客户端连接到服务器上,那么服务器的accept调用就没有返回的保证。EINTR错误的产生:当阻塞于某个慢系统调用的一个进程捕获...
分类:
其他好文 时间:
2015-04-04 23:44:38
阅读次数:
164
举例说明:老师收学生作业,相当于应用层调用I/O操作。1、老师逐个收学生作业,学生没有做完,只能阻塞等待,收了之后,再去收下一个学生的作业。这显然存在性能问题。2、怎么解决上面的问题?老师找个班长,班长负责收作业,班长的做法是:遍历问学生作业写好了吗,写好的,收起来交给老师。休息一会,再去遍历。。。...
分类:
其他好文 时间:
2015-04-04 12:11:03
阅读次数:
121
科普文一则,说说我对NodeJS(一种服务端JavaScript实现)的一些认识,以及我为什么会向后端工程师推荐NodeJS."Node.js 是服务器端的 JavaScript 运行环境,它具有无阻塞(non-blocking)和事件驱动(event-driven)等的特色,Node.js 采用....
分类:
Web程序 时间:
2015-04-03 17:15:07
阅读次数:
250
最近做有关于游戏服务器用单线程的好还是多线程的好的讨论
有同学问:服务端逻辑全单线程的模型,为了避免查询离线玩家数据造成阻塞,除了启动服务器全部加载以外还有更好的办法吗?
同学B: 单线程逻辑模型也属于很常用。逻辑本身不容易出问题。
IO得全部分出去。
同学B: 用异步加载事件。数据加载完成后。再重新把任务排入单线程任务队列。
同学C: 各种活动NPC打完就要从场景消失 战斗线程和场景...
分类:
编程语言 时间:
2015-04-03 09:18:27
阅读次数:
298
1、图片延时加载 brower?=?(WebView)?this.findViewById(R.id.brower);
settings?=?brower.getSettings();
settings.setJavaScriptEnabled(true);
//阻塞图片下载
settings.setBlockNetworkImage(true);
pr...
分类:
Web程序 时间:
2015-04-03 01:42:46
阅读次数:
231
linux下进程终止时,内核会向父进程发送一个SIGCHLD信号,其有几个特点: 1.在一个信号处理函数运行期间,正被递交的信号是阻塞的。 2.如果一个信号在被阻塞期间产生了一次或多次,那么该信号被解阻塞之后通常只递...
分类:
其他好文 时间:
2015-04-03 00:22:33
阅读次数:
354
1、调度时机:创建新的进程后、运行进程退出时、进程因为I/o或其他原因阻塞时、发生I/o中断(完成了i/o的阻塞进程变为了就绪进程)2、调度算法应用环境: 批处理系统,交互式系统,实时系统,不同的系统有不同的调度策略3、批处理系统:先来先服务:非抢占式 当正在运行的进程被阻塞时,队列中的第一个进程就...
分类:
其他好文 时间:
2015-04-01 21:43:17
阅读次数:
160
socket调用功能描述accept()*响应连接请求并新建套接口,原来的套接口则返回监听状态(服务器用)bind()把一个本地的名字和一个套接口捆绑起来closesocket()*把套接口从拥有对象参考表中取消。该函数只在so_linger被设置时才会阻塞connect()*与服务器建立连接(client端..
分类:
其他好文 时间:
2015-04-01 13:36:38
阅读次数:
187
greenev是一个基于greenlet协程,事件驱动,非阻塞socket模型的Python网络服务框架,它使得可以编写同步的代码,却得到异步执行的优点。本项目受到gevent, openresty, alilua, skynet, clowwindy/ssloop的启发,在此表示感谢。reacto...
分类:
编程语言 时间:
2015-04-01 09:26:41
阅读次数:
197