摘要:
本文转载自:http://my.oschina.net/shelllife/blog/123202 在宏定义中#和##的作用是:前者将宏定义的变量转化为字符串;后者将其前后的两个宏定义中的两个变量无缝拼接在一起转化为字符串。 1. #: 在宏定义中,将其后的变量,转化为字符串。 eg: #defin 阅读全文
摘要:
本文转载自:http://blog.csdn.net/yusiguyuan/article/details/11760187 一、概述 a) 在编写与计算机通信的程序时,首先要确定的就是和计算机通信的协议,从高层次来确定通信由哪个程序发起以及响应在合适产生。大多数网络应用按照划分成客户和服务器来组织 阅读全文
摘要:
本文转载自:http://blog.csdn.net/yusiguyuan/article/details/17538499 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的Q 阅读全文
摘要:
本文转载自:https://segmentfault.com/a/1190000002711544 内核按照体系结构分为两类 : 微内核(microkernel)与宏内核(macrokernel). 微内核 是将各种服务功能放到内核之外,自身仅仅是一个消息中转战,用于各种功能间的通讯.宏内核 是将所 阅读全文
摘要:
本文转载自:http://www.cppblog.com/aaxron/archive/2013/04/12/199386.html 自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此 阅读全文
摘要:
本文转载自:http://blog.csdn.net/yusiguyuan/article/details/14237277 在Linux的多线程中使用信号机制,与在进程中使用信号机制有着根本的区别,可以说是完全不同。在进程环境中,对信号的处理是,先注册信号处理函数,当信号异步发生时,调用处理函数来 阅读全文
摘要:
本文转载自:http://blog.csdn.net/yusiguyuan/article/details/21560079 一、简介 1.1 进程/线程同步方法 常见的进程/线程同步方法有互斥锁(或称互斥量Mutex)、读写锁(rdlock)、条件变量(cond)、信号量(Semophore)等。 阅读全文
摘要:
本文转载自:http://blog.csdn.net/yusiguyuan/article/details/18401277 一、线程池 大多数的网络服务器,包括Web服务器都具有一个特点,就是单位时间内必须处理数目巨大的连接请求,但是处理时间却是比较短的。在传统的多线程服务器模型中是这样实现的:一 阅读全文
摘要:
本文转载自:http://blog.csdn.net/yusiguyuan/article/details/14161061 1. 优先级反转(Priority Inversion) 由于多进程共享资源,具有最高优先权的进程被低优先级进程阻塞,反而使具有中优先级的进程先于高优先级的进程执行,导致系统 阅读全文
摘要:
本文转载自:http://blog.csdn.net/yusiguyuan/article/details/12405953 【概念上】 一 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位; 二 线程是进程的一个实体,是CPU调度和分派的基本单位 阅读全文