自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (10)
  • 问答 (1)
  • 收藏
  • 关注

转载 Unix/Linux中的read和write函数

文件描述符  对于内核而言,所有打开的文件都通过文件描述符引用。文件描述符是一个非负整数。当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。当读或写一个文件时,使用open或create返回的文件描述符表示该文件,将其作为参数传给read或write函数。write函数   write函数定义如下:#include ssize_t write(int fil

2016-07-31 18:38:51 9333

转载 Linux中的线程局部存储(一)

转载请说明出处:http://blog.csdn.net/cywosp/article/details/26469435   在Linux系统中使用C/C++进行多线程编程时,我们遇到最多的就是对同一变量的多线程读写问题,大多情况下遇到这类问题都是通过锁机制来处理,但这对程序的性能带来了很大的影响,当然对于那些系统原生支持原子操作的数据类型来说,我们可以使用原子操作来处理,这能对程序的性能会得

2016-07-31 17:58:53 1410

转载 fork()函数与Linux中的多线程编程

转载请说明出处:http://blog.csdn.net/cywosp/article/details/27316803一、fork()函数    在操作系统的基本概念中进程是程序的一次执行,且是拥有资源的最小单位和调度单位(在引入线程的操作系统中,线程是最小的调度单位)。在Linux系统中创建进程有两种方式:一是由操作系统创建,二是由父进程创建进程(通常为子进程)。系统调用函数f

2016-07-30 18:25:08 291

转载 netstat详解

简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Re

2016-07-30 15:14:26 3595

转载 Observer观察者模式

Observer观察者模式作用:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己UML图:Subject类,可翻译为主题或抽象通知者,一般用一个抽象类或者一个借口实现。它把所有对观察者对象的引用保存在一个聚集里,每个主题都可以有任何数量的观察者。抽象主题提供一个借口,可以增加和删

2016-07-24 17:24:53 309

转载 C++中的RAII机制

1.概念Resource Acquisition Is Initialization 机制是Bjarne Stroustrup首先提出的。要解决的是这样一个问题:在C++中,如果在这个程序段结束时需要完成一些资源释放工作,那么正常情况下自然是没有什么问题,但是当一个异常抛出时,释放资源的语句就不会被执行。于是Bjarne Stroustrup就想到确保能运行资源释放代码的地方就是在这个程序

2016-07-24 16:15:12 329

转载 使用c++简单实现reactor模式

转载地址:http://blog.csdn.net/baidu20008/article/details/41378761事件驱动模型广泛地应用于高性能的web服务器中。而相对应的事件处理模式,最为典型的就是Reactor模式(中文可以称作“反应器” “反应堆”等等,各种叫法都不一样,估且就使用英文吧,叫它Reactor模式)和Proactor模式(中文也称“主动器” “前摄器”,同前者一样称

2016-07-20 08:52:08 5449

转载 基于时间轮的定时器设计

转载地址:http://www.cnblogs.com/zhanghairong/p/3757656.html在开发高性能服务器中,定时器总是不可或缺的。 常见的定时器实现三种,分别是:排序链表,最小堆,时间轮。 之前用的定时器是基于最小堆的,在定时器数量不多时可以使用, 目前公司用的框架中的定时器是基于简单时间轮的,但是为了支持大范围的时间,每个齿轮的所维护的链表为有序链表,每次插入时先

2016-07-20 08:48:47 4215

转载 最小堆定时器的实现以及与网络编程中的多路IO复用的应用

转载地址:http://blog.csdn.net/w616589292/article/details/45694987在开发Linux网络程序时,通常需要维护多个定时器,如维护客户端心跳时间、检查多个数据包的超时重传等。如果采用Linux的SIGALARM信号实现,则会带来较大的系统开销,且不便于管理。本文在应用层实现了一个基于时间堆的高性能定时器,同时考虑到定时的

2016-07-19 17:03:42 1010

转载 Reactor模式及在DSS中的体现

转载地址:http://www.cnblogs.com/MikeZhang/archive/2012/08/16/ReactorPattern20120815.htmlReactor模式是处理并发I/O比较常见的一种模式,用于同步I/O,中心思想是将所有要处理的I/O事件注册到一个中心I/O多路复用器上,同时主线程阻塞在多路复用器上;一旦有I/O事件到来或是准备就绪(区别在于多路复用器是边

2016-07-19 14:00:05 705

转载 linux网络编程之-----多播(组播)编程

转载地址:http://blog.csdn.net/jmq_0000/article/details/7095727最近用到组播就看看,算是比较好的,但是有些属性没有在例子中很少的阐述,稍有欠缺。后期有时间我这里会相应的完整更新下。什么是多播       单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,

2016-07-18 16:51:53 560

转载 getsockopt()和setsockopt()函数详解

功能描述:获取或者设置与某个套接字关联的选项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:#inclu

2016-07-15 09:09:18 8768 1

转载 STL插入排序std::upper_bound和std::lower_bound的使用,以及通用排序类

转载地址:http://blog.chinaunix.net/uid-22145625-id-3864291.html1.使用vector进行排序插入    如果我们有个vector容器,如std::vector vMyVec,里面现在已经有1,3,5,7, 四个元素,现在需要往1,3之间插入2这个元素,那怎么办呢,更或者vector里面是个自定义的类型,需要做这种插入操作,那可以

2016-07-08 17:03:53 2589

转载 非阻塞同步算法与CAS(Compare and Swap)无锁算法

转载地址:http://www.cnblogs.com/Mainz/p/3546347.html锁(lock)的代价锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,加锁、释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放。在上下文切换的时候,cpu之前缓存的指令和数据都将失效,对性能有很大的损失。操作系统对

2016-07-04 09:11:45 802

ZeroMQ 云时代极速消息通信库

ZeroMQ 云时代极速消息通信库,压缩包是rar格式,挺清晰的,谢谢大家下载

2015-12-30

高质量程序设计指南.C.C语言(第三版)]

高质量程序设计指南.C.C语言(第三版) 不知道就上网百度下,就知道了。

2013-12-14

清华曾攀ansys二次开发资料

清华曾攀ansys二次开发资料,挺好的。为二次开发的奉献资源。

2013-12-01

Windows操作系统

深入解析Windows操作系统,window操作系统详细的内容。

2013-11-24

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

TA关注的人

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