pthread_cond_signal与pthread_cond_wait详解
摘要:转:http://blog.chinaunix.net/uid-11572501-id-3456343.html//pthread_cond_signal 只发信号,内部不会解锁,在Linux 线程中,有两个队列,分别是cond_wait队列和mutex_lock队列, cond_signal只是让...
阅读全文
posted @
2015-04-20 15:10
Stephen_init
阅读(899)
推荐(0)
Linux网络编程入门
摘要:(一)Linux网络编程--网络知识介绍Linux网络编程--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。 比如我们使用ftp程序从另外...
阅读全文
posted @
2015-03-10 09:34
Stephen_init
阅读(165)
推荐(0)
转:select、poll、epoll之间的区别总结[整理]
摘要:转:select、poll、epoll之间的区别总结[整理] select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步...
阅读全文
posted @
2015-03-09 17:35
Stephen_init
阅读(143)
推荐(0)
malloc实现
摘要:任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放 掉。但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至把malloc当做操作系统所提供的系统调用或C的关键字。实际上,malloc只是 C的标准库中提供...
阅读全文
posted @
2015-01-20 23:06
Stephen_init
阅读(320)
推荐(0)
IO中同步异步,阻塞与非阻塞 -- 原理篇
摘要:再补一篇高手写的理论分析,便于更深刻理解转自:http://blog.csdn.net/historyasamirror/article/details/5778378=============================================================同步(sy...
阅读全文
posted @
2014-08-07 22:14
Stephen_init
阅读(249)
推荐(0)
IO中同步异步,阻塞与非阻塞 -- 通俗篇
摘要:一、同步与异步同步/异步, 它们是消息的通知机制1. 概念解释A. 同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间...
阅读全文
posted @
2014-08-07 06:26
Stephen_init
阅读(286)
推荐(0)
转: 再谈select, iocp, epoll,kqueue及各种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 这个不用多解释吧,阻塞套接字。下图是它调用过程的图示: 重点解释下上图,下面例子都会讲到。首先application调用 recvfrom()转入kernel,注意kernel有2个过程,wait for data和copy data from kernel to use
阅读全文
posted @
2014-01-03 13:21
Stephen_init
阅读(225)
推荐(0)
GDB调试
摘要:GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3、当程序被停住时,可以检查此时你的程序中所发生的事。 4、动态的改变你程序的执行环境。从上面看来,GDB和一般的
阅读全文
posted @
2013-12-31 10:45
Stephen_init
阅读(433)
推荐(0)
Linux core 文件浅析
摘要:浅析Linux下core文件 当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出 现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们 如何利用core文件找到出现崩溃的地方。何谓core文件当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。当程序接收到以下UNIX信号会产生core文件:名字说明ANSI C POSIX.1SVR4 4.3+BSD缺省
阅读全文
posted @
2013-12-31 10:15
Stephen_init
阅读(580)
推荐(0)