码迷,mamicode.com
首页 >  
搜索关键字:非阻塞    ( 2696个结果
verilog中阻塞复制,非阻塞复制,顺序块,并行块之间的关系
这几个概念是不一样的 顺序块:顺序块中的语句是按顺序执行的,每条语句中的延迟值是与其前一条语句执行的仿真时间有关。 并行块:并行块语句是并行执行的,它里面的每条语句中指定的延迟值都是相对于语句块开始执行的时候。 所以顺序块和并行块的区别是,里面每条语句执行的仿真时间,而非具体的阻塞,非阻塞语句。 阻...
分类:其他好文   时间:2014-10-27 12:40:30    阅读次数:351
高性能服务器框架--I/O模型
socket在创建的时候默认是阻塞的。我们可以通过socket系统调用的第二个参数传递SOCK_NONBLOCK标志,或者通过fcntl系统调用的F_SETFL命令,将其设置为非阻塞的。阻塞和非阻塞的概念能应用与所有文件描述符,不仅仅是socket,我们称阻塞的文件描述符为阻塞I/O,非阻塞的文件描述符为非阻塞I/O.          针对阻塞I/O执行的系统调用可能因为无法立即完成而被操作系...
分类:其他好文   时间:2014-10-26 10:23:21    阅读次数:179
Linux非阻塞IO(五)使用poll实现非阻塞的回射服务器客户端
前面几节我们讨论了非阻塞IO的基本概念、Buffer的设计以及非阻塞connect的实现,现在我们使用它们来完成客户端的编写。 我们在http://www.cnblogs.com/inevermore/p/4049165.html中提出过,客户端需要监听stdin、stdout和sockfd。 这里...
分类:系统相关   时间:2014-10-24 22:10:27    阅读次数:388
Linux非阻塞IO(四)非阻塞IO中connect的实现
我们为客户端的编写再做一些工作。 这次我们使用非阻塞IO实现connect函数。 int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 在阻塞IO中,调用connect后一般会阻塞,直到确定连接成功或者失败。...
分类:系统相关   时间:2014-10-24 20:45:50    阅读次数:290
nginx VS apache
1、nginx相对于apache的优点:轻量级,同样起web服务,比apache占用更少的内存及资源抗并发,nginx处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx能保持低资源低消耗高性能高度模块化的设计,编写模块相对简单社区活跃,各种高性能模块出品迅速啊apache相对于..
分类:Web程序   时间:2014-10-24 19:09:55    阅读次数:274
Linux 中连接超时的另外一种实现
我之前的实现方式都是使用非阻塞的socket ?, 其实对于阻塞的socket 有另外一种实现方式,那就是使用?alarm(闹钟) ?, 进入连接前设置设置个超时 voidset_timeout(int?n) { to?=?0; alarm(n); signal(SIGAL...
分类:系统相关   时间:2014-10-24 16:55:07    阅读次数:283
Linux非阻塞IO(三)非阻塞IO中缓冲区Buffer的实现
本文我们来实现回射服务器的Buffer。 Buffer的实现 上节提到了非阻塞IO必须具备Buffer。再次将Buffer的设计描述一下: 这里必须补充一点,writeIndex指向空闲空间的第一个位置。 这里有三个重要的不变式: 1. 0 #define BUFFER_SIZE 1024 type...
分类:系统相关   时间:2014-10-24 16:24:21    阅读次数:340
Linux下的非阻塞IO(一)
非阻塞IO是相对于传统的阻塞IO而言的。 我们首先需要搞清楚,什么是阻塞IO。APUE指出,系统调用分为两类,低速系统调用和其他,其中低速系统调用是可能会使进程永远阻塞的一类系统调用。但是与磁盘IO有关的系统调用是个例外。 我们以read和write为例,read函数读取stdin,如果是阻塞IO,...
分类:系统相关   时间:2014-10-23 12:11:41    阅读次数:259
FSM从一段到三段详解
一段式:将整个状态机写到1个always模块里,在该模块中既描述状态转移,又描述状态的输入和输出。(always用时序逻辑也就非阻塞赋值)解释:无须解释特点:一段式描述方法不符合将时序和组合逻辑分开描述的Coding Style(代码风格),而且代码冗长、不清晰,不利于附加约束,不利于综合器和布局布...
分类:其他好文   时间:2014-10-21 19:11:23    阅读次数:202
什么是猴子补丁(monkey patch)
monkey patch指的是在运行时动态替换,一般是在startup的时候. 用过gevent就会知道,会在最开头的地方gevent.monkey.patch_all();把标准库中的thread/socket等给替换掉.这样我们在后面使用socket的时候可以跟平常一样使用,无需修改任何代码,但是它变成非阻塞的了. 之前做的一个游戏服务器,很多地方用的import json,后来发现ujs...
分类:其他好文   时间:2014-10-20 11:44:41    阅读次数:224
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!