- 博客(8)
- 资源 (10)
- 收藏
- 关注
转载 linux锁机制
在linux内核中,有很多同步机制。比较经典的有原子操作、spin_lock(忙等待的锁)、mutex(互斥锁)、semaphore(信号量)等。并且它们几乎都有对应的rw_XXX(读写锁),以便在能够区分读与写的情况下,让读操作相互不互斥(读写、写写依然互斥)。而seqlock和rcu应该可以不算在经典之列,它们是两种比较有意思的同步机制。atomic(原子操作):所谓原子操作,就是该操
2014-12-22 11:48:41 897
转载 epoll用法说明,ET模式下的边缘触发处理同时多事件
epoll完整实例#include deque>#include map>#include vector>#include pthread.h>#include semaphore.h>#include time.h>#include sys/time.h>#include sys/shm.h>#include errno.h>#include sys/
2014-12-19 13:57:55 1246
转载 epoll详解
什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 ep
2014-12-15 15:11:08 403
转载 Linux下高并发socket最大连接数所受的各种限制
1、修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制:[speng@as4 ~]$ ulimit
2014-12-15 11:41:26 694
转载 IO多路复用之select总结
1、基本概念 IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 (3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。
2014-12-15 11:37:11 751
转载 select、poll、epoll之间的区别总结[整理]
select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用
2014-12-15 11:36:13 402
转载 秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别
本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底有什么区别,在实际的编程中到底应该使用CreateThread还是_beginthreadex? 使用多线程其实是非常容易的,下面这个程序的主线程会创建了一个子线
2014-12-11 17:53:39 396
转载 linux下快速遍历目录树方法
个人使用nftw()遍历指定目录的大小: 具体用法请参照下文说明#include #include #include #include #include #include #include #define _XOPEN_SOURCE 500#define OPENNUMS 1024off_t total_size;int back(const char *dirpath
2014-12-02 15:58:44 1885
Window C++延时测试代码
2020-12-18
Windows几种延时精确度的测试源码
2020-10-15
SleepTest.zip
2019-08-15
Windows libxml2,32位,64位(手动编译包括DLL和lib)
2015-07-29
MFC实现表格明细群发邮件小助手源文件
2014-09-16
MFC做的表格明细群发邮件小助手
2014-09-16
C/C++实现Linux和Windows文件创建、替换、插入指定大小随机字符
2014-08-21
C/C++实现linux和Windows查看系统、进程、服务的内存和CPU使用
2014-08-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人