libev最大的特点是采用了轮询文件描述符(select,poll,epoll,iocp,kqueue)的方式来代替线程调度和切换,省去了线程切换,效率很高。 用小顶堆而不是链表来管理定时器,有以下优势: 1、容器中的元素实现有序排列(当然链表也能做有序排列,但性能不行,参见后面几点),这样在轮询时 ...
分类:
其他好文 时间:
2018-01-18 20:34:20
阅读次数:
194
Windows 异步通讯模型, 完成端口的使用方法
最近做的一个程序用到了IOCP通信模型,里面用到了setsockopt对套接字进行设置,看源代码的时候最setsockopt函数很不理解,看了msdn以后还是不太明白这个函数的用法,于是就到网上找了一个这个函数的用法,找到了下面的这篇文章,我觉得对setsockopt这个函数讲解的特别号,就转过来了 ...
分类:
其他好文 时间:
2017-12-27 23:56:11
阅读次数:
223
socket 模型: socket模型详解 第五种完成端口模型很重要IOCP 服务器多是用C++/java写的 两种I/O模式: 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序。套接字默认为阻塞模式。可以通过多线程技术进行处理。 非阻塞模式:执行I/O操作时,Winsock函数会 ...
分类:
编程语言 时间:
2017-11-12 11:02:26
阅读次数:
198
假设当前/tmp/目录下有个iocp.txt文件,如何将它导入数据库进入数据库,进入指定库表,然后source加上文件的全路径source/tmp/ipcp.txt;
分类:
数据库 时间:
2017-10-31 23:57:31
阅读次数:
275
首先说明,下面的代码仅是一个IOCP的demo,很多地方的设计非常差,当然也有一些设计还算可以:)。此篇仅供对IOCP有些了解但又不深入的、需要一个稍微完整示例的、对网络编程感兴趣的同学参考。点击这里下载代码 整个程序的流程如下: 流程完全是无阻塞的,主线程里,将收到的消息全都一次性取出后,然后派发 ...
分类:
其他好文 时间:
2017-10-28 12:47:58
阅读次数:
110
原创性申明 本文作者:小竹zz 博客地址:http://blog.csdn.net/zhujunxxxxx/article/details/43573879转载请注明出处 引言 我一直在探寻一个高性能的Socket客户端代码。以前,我使用Socket类写了一些基于传统异步编程模型的代码(BeginS ...
什么是C10K问题? C10K问题全称是concurrent 10000 connection。是指服务器同时支持成千上万个客户端的问题 为什么会有C10K问题? 最初的服务器都是基于进程/线程模型的,新到来一个TCP连接,就需要分配1个进程(或者线程)。而进程又是操作系统最昂贵的资源,一台机器无法 ...
分类:
其他好文 时间:
2017-09-25 11:58:43
阅读次数:
192
一:IOCP和Epoll之间的异同。异:1:IOCP是WINDOWS系统下使用。Epoll是Linux系统下使用。2:IOCP是IO操作完毕之后,通过Get函数获得一个完成的事件通知。Epoll是当你希望进行一个IO操作时,向Epoll查询是否可读或者可写,若处于可读或可写状态后,Epoll会通过e ...
分类:
其他好文 时间:
2017-09-05 10:01:50
阅读次数:
114