自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (5)
  • 收藏
  • 关注

转载 Reactor VS Proactor

两种I/O多路复用模式:Reactor和Proactor 一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件处理器。两个与事件分离

2014-12-30 21:01:28 768

转载 常见的I/O模型及其区别

首先,介绍几种常见的I/O模型及其区别,如下:blocking I/Ononblocking I/OI/O multiplexing (select and poll)signal driven I/O (SIGIO)asynchronous I/O (the POSIX aio_functions)blocking I/O 这个不用多解

2014-12-30 20:25:03 1734

转载 Linux C 编程内存泄露检测工具(一):mtrace

前言所有使用动态内存分配(dynamic memory allocation)的程序都有机会遇上内存泄露(memory leakage)问题,在Linux里有三种常用工具来检测内存泄露的情況,包括:mtracedmallocmemwatch1. mtracemtrace是三款工具之中是最简单易用的,mtrace是一个C函數,在里声明及定义,函数原型为

2014-12-24 09:14:41 973 1

转载 Linux内存管理

一提到内存管理,我们头脑中闪出的两个概念,就是虚拟内存,与物理内存。这两个概念主要来自于linux内核的支持。Linux在内存管理上份为两级,一级是线性区,类似于00c73000-00c88000,对应于虚拟内存,它实际上不占用实际物理内存;一级是具体的物理页面,它对应我们机器上的物理内存。这里要提到一个很重要的概念,内存的延迟分配。Linux内核在用户申请内存的时候,只是给它分配

2014-12-23 22:21:35 699

原创 cin.get( ) VS cin.getline( )

cin.get()有两种形式:cin.get(char str[], int size)读取整行,cin.get()读取单个字符。1.cin.get(char str[], int size)cin.getline()和cin.get()都是对输入的面向行的读取,即一次读取整行而不是单个数字或字符,但是二者有一定的区别。cin.get()每次读取一整行并把由Enter键

2014-12-23 21:34:25 673

原创 GNU C函数嵌套定义及闭包

最近无意中发现GNU C原来是支持函数嵌套定义的,于是想到函数嵌套定义的用处之一:闭包函数,不多说,代码如下:#include void *outer(int var){ void inner() { printf("inner %d\n", var); } printf("outer\n"); return &inner;}int main(){ void (

2014-12-20 20:14:29 1325

原创 中断VS异常

2014-12-17 13:14:09 983

转载 Linux中线程与CPU核的绑定

不管是线程还是进程,都是通过设置亲和性(affinity)来达到目的。对于进程的情况,一般是使用sched_setaffinity这个函数来实现,网上讲的也比较多,这里主要讲一下线程的情况。    与进程的情况相似,线程亲和性的设置和获取主要通过下面两个函数来实现:int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize,

2014-12-09 09:02:25 854

转载 Linux内存管理之mmap详解

一. mmap系统调用1. mmap系统调用        mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。当使用mmap映射文件到进程后,就可以直接操作这段虚拟地址进行文件的读写等操作,不必再调用read,write等系统调用.

2014-12-07 19:36:54 726

转载 Python – __all__ function

在python的module中,可以使用 __all__ 函数来定义这个module像其他引用自己的module导入的变量:例如:alltag.py__all__ = ['bar', 'baz'] waz = 5bar = 10def baz(): return 'baz' alltagtest.pyfrom alltag imp

2014-12-06 18:57:33 784

转载 linux线程资源回收方法

在写网络服务器程序时可能需要实现多线程接收多个客户端的数据,我实现方式比较傻,死循环等待client的connect,connect之后创建thread,这样其实有一个问题,服务器程序需要长期运行,长时间线程的创建,线程资源的回收就是一个问题。Linux系统中程序的线程资源是有限的,表现为对于一个程序其能同时运行的线程数是有限的。而默认的条件下,一个线程结束后,其对应的资源不会被释放,于是

2014-12-06 16:35:10 911

转载 进程与线程的比较

传统进程相当于一个线程的任务。通常一个进程都拥有若干个线程,至少有一个线程。调度:传统中:进程是拥有资源的基本单位和独立调度分配的基本单位。引入线程后:线程作为调度和分派的基本单位,进程作为资源拥有的基本单位。线程基本上不再拥有资源,提高系统的并发程度。通过一个进程中的线程切换不会引起进程的切换,但是一个进程中的线程切换到另一个进程中的线程时将会引起进程的切换。并发性:在引入线程的

2014-12-05 19:46:03 756

转载 指针和引用

#includeusing namespace std; int main(int argc, char** argv){int i=1;int& ref=i;int x=ref;cout"x is " ref=2;int* p=&i;cout"ref = "", i = "}上面的代码

2014-12-03 19:05:17 762

VIM配置文件

为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。 在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至..

2015-07-05

putty_V0.63.0.0.43510830

PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植至Mac OS X上。

2015-07-05

腾讯编程马拉松第一场考试题目.doc

腾讯编程马拉松第一场考试题目,给力~~~

2013-03-20

基于ASP技术网上考试系统的设计与实现

基于ASP技术网上考试系统的设计与实现,只得学学,适合ASP初学者

2012-11-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除