自定义博客皮肤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)
  • 资源 (26)
  • 问答 (1)
  • 收藏
  • 关注

转载 双缓冲(Double Buffer)原理和使用

一、双缓冲作用          双缓冲甚至是多缓冲,在许多情况下都很有用。一般需要使用双缓冲区的地方都是由于“生产者”和“消费者”供需不一致所造成的。这样的情况在很多地方后可能会发生,使用多缓冲可以很好的解决。我举几个常见的例子:    例 1. 在网络传输过程中数据的接收,有时可能数据来的太快来不及接收导致数据丢失。这是由于“发送者”和“接收者”速度不一致所

2013-11-26 23:25:15 3297

转载 提高程序运行效率的10个简单方法

对于每一个程序员来说,程序的运行效率都是一个值得重视,并为之付出努力的问题。但是程序性能的优化也是一门复杂的学问,需要很多的知识,然而并不是每个程序员都具备这样的知识,而且论述如何优化程序提高程序运行效率的书籍也很少。但是这并不等于我们可以忽略程序的运行效率,下面就介绍一下本人积累的一些简单实用的提高程序运行效率的方法,希望对大家有所帮助。注:以C/C++程序为例

2013-11-26 22:55:19 1004

转载 C++的一大误区——深入解释直接初始化与复制初始化的区别

不久前,在博客上发表了一篇文章——提高程序运行效率的10个简单方法,对于其中最后一点,多使用直接初始化,有很多读者向我提出了疑问,并写了一些测试程序,来说明直接初始化与复制初始化是同一件事。让我了解到大家对于直接初始化与复制初始化的区别的确是不太清楚,无可否认,那篇文章的例子用得的确不太好,在这里表示歉意!所以我觉得还是有必要跟大家详细分享一下我对直接初始化和复制初始化的理解。

2013-11-26 22:52:57 606

转载 Mac技巧之查看苹果电脑 Mac OS X 系统是否开启 64 位运算,以及设置 32/64 位模式的方法

分类:Mac2011-3-12评论(13) 阅读(32611) Tags: macos ,mac终端 , cpu    苹果电脑 Mac OS X 10.6 雪豹系统同时支持 32 位和 64 位模式,关于开启 64 位的好处,字太多,本文后半段介绍。下面先说查看你的苹果电脑是否开启了 64 位以及设置苹果电脑 Mac OS X 系统以 32 位还是 6

2013-11-15 09:45:22 1404

转载 linux-epoll研究

做linux网络编程的同学都清楚,2.6版本以前的linux内核大多都是用select作为非阻塞的事件触发模型,但是效率低,使用受限已经很明显的暴露了select(包括poll)的缺陷了,为了解决这些缺陷,epoll作为linux新的事件触发模型被创造出来。一、epoll相对于select的优点:  1.支持一个进程socket描述符(FD)的最大数目    select支

2013-11-12 01:57:36 683

转载 C++任务队列与多线程

摘要:      很多场合之所以使用C++,一方面是由于C++编译后的native code的高效性能,另一方面是由于C++优秀的并发能力。并行方式有多进程 和多线程之分,本章暂且只讨论多线程,多进程方面的知识会在其他章节具体讨论。多线程是开发C++服务器程序非常重要的基础,如何根据需求具体的设计、分配线程以及线程间的通信,也是服务器程序非常重要的部分,除了能够带来程序的性能提高外,若设计

2013-11-11 21:26:07 1195

转载 gdb 多进程调试

我们先看看我们的测试程序:/* in eg1.c */int wib(int no1, int no2){        int result, diff;        diff = no1 - no2;        result = no1 / diff;        return result;}int main(){        p

2013-11-10 16:21:43 582

翻译 poll 和 select

使用非阻塞 I/O 的应用程序常常使用 poll, select, 和 epoll 系统调用. poll, select 和 epoll 本质上有相同的功能: 每个允许一个进程来决定它是否可读或者写一个或多个文件而不阻塞. 这些调用也可阻塞进程直到任何一个给定集合的文件描述符可用来读或写. 因此, 它们常常用在必须使用多输入输出流的应用程序, 而不必粘连在它们任何一个上. 相同的功能常常由多个函数

2013-11-08 00:00:07 596

原创 Linux中select函数学习及实例笔记

转自:http://zyg0227.blog.51cto.com/1043164/554208Unix中的函数select和poll用来,支持Unix中I/O复用的功能,在Unix中I/O模型可以分为以一几种:(1)阻塞I/O(2)非阻塞I/O(3)I/O复用(select和poll)(4)信号驱动I/O(SIGIO)(5)异步I/O

2013-11-06 23:28:30 2093

原创 常见多线程与并发服务器设计方案举例

转自:http://blog.csdn.net/jnu_simba/article/details/14141245一、3点基础知识1、一个主机的端口号为所有进程所共享,但普通用户进程绑定不了一些特殊端口号如20、80等。 2、每个进程都有自己的文件描述符(包括file fd, socket fd, timer fd, event fd, signal fd),

2013-11-04 22:30:22 1026

原创 tcp回射程序

服务器端:#include #include #include #include #include #include #define LISTENQ 1024#define SERV_PORT 9877#define SA struct sockaddrint main(int argc, char** argv){ int listenfd, conn

2013-11-02 23:37:27 789

转载 UNIX网络编程——shutdown 与 close 函数 的区别

假设server和client 已经建立了连接,server调用了close, 发送FIN 段给client(其实不一定会发送FIN段,后面再说),此时server不能再通过socket发送和接收数据,此时client调用read,如果接收到FIN 段会返回0,但client此时还是可以write 给server的,write调用只负责把数据交给TCP发送缓冲区就可以成功返回了,所以不会出错,而s

2013-11-02 12:04:40 817

转载 UNIX网络编程——使用select函数编写客户端和服务器

首先看原先《UNIX网络编程——并发服务器(TCP)》的代码,服务器代码serv.c:[cpp] view plaincopyprint?#include  #include  #include  #include  #include  #include  #include  #include  #includ

2013-11-02 12:03:38 935

毕业答辩ppt模板(答辩必备,效果很炫)

毕业答辩ppt模板,答辩必备,效果很炫,给人耳目一新的感觉。

2011-06-12

流程图生成软件(适合初学者学习流程图)

流程图生成软件(适合初学者学习流程图),非常实用,简单

2011-05-28

二进制编辑器(查看.exe文件的内存中的具体二进制存储)

二进制编辑器,用于查看.exe文件的内存中的具体二进制存储。

2011-05-28

.dll文件查看器,直接阅读dll文件

.dll文件查看器,可直接阅读dll文件,非常实用的工具软件

2011-05-27

ACM题解,著名院校oj解题代码

ACM题解,著名院校oj解题代码,对ACmer非常有用

2011-05-27

数据结构代码(严蔚敏版C实现)

数据结构代码,用于深入理解数据结构和算法

2011-05-27

经典数学函数程序(C语言实现)

经典数学函数程序,可用于相关的数学方面的研究

2011-05-27

空空如也

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

TA关注的人

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