自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (2)
  • 收藏
  • 关注

转载 gdb 相关调试技巧整理 收藏

<br />gdb 相关调试技巧整理 收藏 <br />启用gdb的方法种有2种,一种是启动core,还有是attach一个已经运行的进程<br />1.gdb <program> core<br />       用gdb同时调试一个运行程序和core文件,core是程序非法执行后core dump后产生的文件。 <br />2.gdb <program> <PID><br />       如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程ID。gdb会自动attach上去,并调试他。p

2010-12-30 09:35:00 754

原创 回忆我的计算机历程

本人不是计算机科班出身,也不是计算机名人,写这个题目只是为了回忆一下在计算机领域走过的这段历程。2001年,必修课学习了计算机基础,学会了打字,上网,申请了qq号,那时候对计算机的认识停留在电脑就是用来上网打字的水平上。2002年上半年学习了c语言,是必修课,学了谭浩强的c语言基础,学会了在turbo c上编写helloword之类的程序,这个时间算真正的进入了计算机的世界。2002下

2009-12-30 17:23:00 1157 1

原创 管理者的基本素质

不论是互联网行业还是传统it行业,管理者的一个基本素质是"一专多长"。要有自己的专长,这是立身之本,同时要熟悉其他的相关环节,甚至可以做到能独立完成这个环节的工作,这些能力对于项目整体的把握,各个环节的沟通衔接非常重要。拿互联网来说,作为一个技术管理者,同时也能做为产品经理,设计师,制作师,开发人员和测试人员。对于有较高智商和情商的人来说,这不难做到。技术管理者是一个产品经理。他能够看到最新的

2009-12-25 17:43:00 531

原创 一点感悟

晚上在一个小伙计的博克上看了一下。一个本科生进了我喜欢的部门,进了相关性排序组。这个部门是向往已久的部门,而且我也未曾敢想去排序组。而一个初出茅庐的小家伙就去了。。让我不禁羞愧。看了他博克上的全部文章,觉得他是一个有点想法的人,至少比我顿悟的早。而且算法掌握的还可以。。别的不说,我和他相比最大的差距就是我太懒了。我老是想这想那,却从来懒得动手,动手太少,做的东西太少了。。你只是说说

2009-09-16 20:47:00 406

原创 最近给自己开一个题

离开学校已经一年半了,一直在一个软件开发工程师的位置上待着。但是目前的状态并不让人满意,且不说多么的没有挑战性,研究生时学到的方法论都快荒废了。我为什么要读一个研究生?绝不是仅仅为了开发,而我发现不光是我,许许多多的的硕士毕业生都作了开发,而且再也不会去做什么研究了。这一年来一直纠缠于表面的东西,追求着貌似光鲜的技术,但是却没有自己的创造。我心底里一直渴望做一个技术强人,希望能够创造一些有用的东西

2009-09-10 17:33:00 798 2

转载 linux 2.6内核epoll用法举例说明(续)--给echo服务器增加读线程池

相关文章:   linux 2.6内核epoll用法举例说明 memcached java下性能测试报告、分析与问题讨论 [原]自己实现的优先队列 PriorityQueue 推荐圈子: EXT 更多相关推荐 上篇文章使用linux内核2.6提供的epoll机制实现了一个反应式echo服务器,使用反应式服务器的最大好处就是可以按cpu的数量来配置线程池 内线程的

2009-06-08 20:06:00 975

转载 epoll的一个demo,备忘

epoll的一个demo,备忘关键字: epoll demoC代码 /**  张亚霏修改   文件名:epoll_demo.c  编译: gcc epoll_demo.c -pthread    程序源码如下(请自行编辑宏定义SERVER_IP为自己的IP):  */      /*Linux 2.6 x86_64 onl

2009-06-08 20:03:00 2506

转载 The C10K problem

The C10K problem 编写连接数巨大的高负载服务器程序时,经典的多线程模式和select模式都不再适用。应当抛弃它们,采用epoll/kqueue/dev_poll来捕获I/O事件。最后简要介绍了AIO。 网络服务在处理数以万计的客户端连接时,往往出现效率低下甚至完全瘫痪,这被称为 C10K问题。随着互联网的迅速发展,越来越多的网络服务开始面临C10K问题,作为大型 网站的开发人员有必

2009-06-08 14:52:00 2038

转载 对于linux socket与epoll配合相关的一些心得记录

对于linux socket与epoll配合相关的一些心得记录收藏 对于linux socket与epoll配合相关的一些心得记录没有多少高深的东西,全当记录,虽然简单,但是没有做过测试还是挺容易让人糊涂的        int nRecvBuf=32*1024;//设置为32Ksetsockopt(s,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvB

2009-05-31 14:50:00 1302 1

转载 关于ulimit的深入思考

关于ulimit的深入思考上一篇 / 下一篇  2006-03-23 16:01:57 / 个人分类:杭州风景 查看( 302 ) / 评论( 4 ) / 评分( 0 / 0 ) 在我总结ulimit之前,让我们回顾一下,为什么要修改ulimit的值?QUOTE:2.1. 如何管理多个连接?“我想同时监控一个以上的文件描述符(fd)/连接(connection)/流(strea

2009-05-25 11:49:00 836

转载 Linux 命令行快捷键

Linux 命令行快捷键2007-12-28 18:08命令行编辑快捷键history     显示命令历史列表↑(Ctrl+p)   显示上一条命令↓(Ctrl+n)    显示下一条命令!num           执行命令历史列表的第num条命令!!             执行上一条命令!?string?    执行含有string字符串的最新命令Ctrl+r

2009-04-24 12:16:00 870 1

转载 Shell基本语法

Shell基本语法2008-01-11 15:25Shell语法变量:在Shell中,我们在使用变量之前并不需要进行声明.相反我们可以在需要的时候进行简单的使用就可以了.在默认的情况下,所有的变量都是作为字符串进行存储的,虽然有时我们会用数字为其赋值.Shell以及其他的一些实用的转换程序会将数字字符串转换成相应的值为进行操作.在Linux系统中是要区分大小的,所以在S

2009-04-24 12:14:00 1061

转载 深入浅出Shell编程: Shell 变量

深入浅出Shell编程: Shell 变量 深入浅出Shell编程: Shell 变量 1 系统变量 2 Shell用户变量 2.1 基础 2.2 使用技巧 2.3 shell 中的数组 3 shell 环境变量 先不要管Shell的版本,来看看Shell 变量,在Shell中有三种变量:系统变量,环境变量,用户变量。其中用户

2009-04-24 11:40:00 582

原创 僵尸进程

今天在进行linux多线程调试的时候,将程序搞成了僵尸进程,就是defunct进程,用 kill是kill不掉的,只能杀死父进程或重起机器。调试的程序只pthread_create了一次线程,第一次gdb attach了主线程,最后导致进程被杀死。第二次attach了子线程,导致了僵尸,还没弄清楚这个僵尸是怎么来的。linux多线程调试的技术还得进一步提高

2009-04-20 15:22:00 567

转载 一个最最简单的apache moudle,给初学着看

  一个最最简单的apache moudle,给初学着看/*-------------------------------------------------------------------------------------------------file: mod_stock.cauthor: wyezl2006.2.10--------------------------

2009-03-17 15:36:00 547

转载 linux 2.6内核epoll用法举例说明

linux 2.6内核epoll用法举例说明   from :[url]http://dev.csdn.net/article/55/article/53/53343.shtm[/url]作者Blog:[url]http://blog.csdn.net/mote_li/[/url]选择自 mote_li 的 Blog epoll用到的所有函数都是在头文件sys/epoll.h中声明的,下面简要说明

2009-03-17 15:33:00 1049

转载 EPOLL为我们带来了什么。

 EPOLL为我们带来了什么。 from: [url]http://blog.csdn.net/tarkey/archive/2005/02/19/293840.aspx[/url]by: tarkey的专栏例子程序及epoll用法说明参见以下网页: [url]http://dev.csdn.net/article/55/article/53/53343.shtm[/url] [url

2009-03-17 15:32:00 2367

转载 一个简单的基于多线程的web server

 一个简单的基于多线程的web server下面是一个朋友chunjian的一个简单的基于多线程的httpd。/*-------------------------------------------------------------------------------------------------gcc -o httpd httpd.c -lpthread author:

2009-03-17 15:29:00 920

转载 一个简单的基于epoll的web server

 一个简单的基于epoll的web server,性能还不错我根据一个epoll的模型改了一个http server出来。只有129行,还可以精简不少,呵呵。小测了一下,一秒钟处理了一万了请求。当然这里只是把现成的东西输出。没考虑到发送数据处理。和请求的解析。注意了,epoll只基于linux 2.6内核的。其他平台不能用。/*----------------------------

2009-03-17 15:27:00 3871 1

转载 如何编写高性能的网络服务器

(转贴)如何编写高性能的网络服务器 from : [url]http://team.eyou.com/[/url]Scalable Network ProgrammingOr: The Quest For A Good Web Server (That Survives Slashdot)Scalable Network ProgrammingFelix von Leitner[email]fel

2009-03-17 15:14:00 3595

原创 Linux网络编程一步一步学-epoll同时处理海量连接的代码

Linux网络编程一步一步学-epoll同时处理海量连接的代码2009年02月27日 星期五 21:19#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #

2009-03-16 17:08:00 1158

原创 libevent结构分析

 查看文章  libevent结构分析2008年07月19日 星期六 11:40libevent 结构分析    libevent是一个针对*nix的高级IO的库(FreeBSD:kqueue, Linux:epoll, Solaris:/dev/poll)的封装(虽然对于windows它也能工作,不过它封

2009-03-16 17:03:00 1990

原创 BerkeleyDB同名key值(Duplicate Key)的使用

 查看文章  BerkeleyDB同名key值(Duplicate Key)的使用2008年07月16日 星期三 22:31以下言论为菜鸟乌焦巴弓之拙见,可信度最多达到百分之八十,如有被该文引入歧途者请冷静点,臭鸡蛋滴不要带。请高手帮忙点错,万分感谢!首先,我们要知道一个概念:duplicate key

2009-03-16 17:02:00 1772

转载 Berkeley DB使用简介

Berkeley DB使用简介 1来源: 作者: 时间:2007-12-02 Tag: 点击: 587 1        简介BDB的全称Berkeley DB,是一套开放源码的嵌入式数据库的程序库。它为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。Berkeley DB为数据的存取和管理提供了一组简洁的函数调用API接口。BDB为多种编程语言提供了API接口,其中包括C、

2009-03-16 16:41:00 3039

转载 DB Environment

 DB Environment -- Berkeley DB来源: 作者: 时间:2007-12-02 Tag: 点击: 195 Database environment introductionBerkeley DB 环境用来封装一个或多个数据库,日志文件和区域文件。区域文件是共享内存区,它里面包括数据库环境信息像内存池cache页等。只有数据库文件可以在不同的字节序机器间移动,日志文件只能

2009-03-16 16:35:00 729

转载 Berkeley DB 简单综合范例

 在参考前一篇代码基础上,有所添加。在Red Hat Linux 8.0平台,测试通过。在第一次运行的时候,要在应用程序所在的目录新建立一个文件夹“dbtestENV”,存放环境用;其次,要把注释掉的代码还原,因为得向空的数据库里添加数据。之后可以注释掉。程序大意:在一个环境(dbenv)中打开两个数据库(dbp1, dbp2),建立指向两个数据库的游标(cur1, cur2),dbp1是

2009-03-16 16:28:00 663

原创 csdn blog的架构该改了

 每天早上的高峰时段,根本无法访问,只能得到service unavailable的提示,好几次都是这样了,真的令人非常恼怒。怎么说csdn也是一个程序员中耳熟能详的网站,本来想开开心心的在上面写点文章啥的,现在有一点后悔。希望csdn把架构调整调整,做点扩容啥的。

2009-03-16 11:52:00 368

转载 简单介绍Brekeley DB

Berkeley DB for C 简单介绍Brekeley DB打开databases在开打数据库前必须通过db_create()方法来初始化一个db句柄, 然后你可以通过他的open方法来打开一个数据库 示例:#include   //必要的包含文件...DB *dbp; /* 数据库结构句柄 */u_int32_t flags; /* 数据库打开标志

2009-03-12 11:01:00 680

转载 怎样把ACE_Task当作更高级的线程来使用

怎样把ACE_Task当作更高级的线程来使用2009-01-02 18:02 #include "ace/OS.h" #include "ace/Task.h"  class TaskOne: public ACE_Task { public: //Implement the Service Initialization and Termination methods int

2009-03-11 17:43:00 989

转载 ACE 任务间通信

ACE 任务间通信标签:  ACE  通信  任务  2009-01-02 18:09 如前面所提到的,ACE 中的每个任务都有一个底层消息队列(参见上面的图示)。这个消息队列被用作任务间通信的一种方法。当一个任务想要与另一任务“谈话”时,它创建一个消息,并将此消息放入它想要与之谈话的任务的消息队列。接收任务通常用 getq()从消息队列里获取消息。如果队列中没有数据可用,它就

2009-03-11 17:42:00 720

转载 6.1 反应器组件 ACE_Reactor

6.1 反应器组件 ACE_Reactor标签:  Reactor  ACE  反应器  组件  2008-12-07 13:46 6.1 反应器组件 ACE_Reactor反应器的基本原理是: 针对关心的某个事件写一个事件处理器(event_handler). 将该事件处理器登记到反应器中(同时指明关心的事件).  然后反应器会自动检测事件的发生. 并调用预先登记的事件处

2009-03-11 17:38:00 516

转载 4.2.2.1 锁(lock)类属

4.2.2.1 锁(lock)类属标签:  lock  2008-12-07 13:47 4.2.2.1 锁(lock)类属 Mutex / Thread_Mutex / Process_Mutex  互斥体. 获得它的线程才能进入临界区.  // 例子代码 : Thread_Mutex 类的用win32 api的简单实现:  class Thread_Mutex {  pub

2009-03-11 17:36:00 614

转载 2. Socket API概述 - C++NP(ACE)

2. Socket API概述 - C++NP(ACE)2008-12-07 13:50 2.1 操作系统IPC机制概述网络应用程序需要使用"进程间通信(IPC)"机制. OS提供的IPC机制分为以下两种:本地IPC: 如共享内存. 管道. "UNIX领域"socket. 门(door). 信号(signal)等.         只允许"位于同一计算机"上的实体之间通

2009-03-11 17:34:00 494

转载 使用信号量

使用信号量标签:  信号量  2009-01-08 23:37 信号量是非负的整型计数,用于协调对多个资源的访问。如果你获取了信号量,计数就会减少;释放信号量,计数就会增大。如果计数达到0--不在有资源 --试图获取该信号量的线程就会阻塞,直到信号量技术变得大于0为止--如果另一个线程释放该信号量,就会发生这样的事情。 喜好两计数绝不会为负。在使用信号量时,你把信号量技术初始化

2009-03-11 17:30:00 539

转载 ACE的互斥信号量

ACE的互斥信号量(2008-12-21 14:48:05)标签:it   1. ACE_Thread_MutexACE_Thread_Mutex mutex_;public testProtected(){      mutex_.acquire ();      //被保护的区域      mutex_.rel

2009-03-11 17:20:00 1244

转载 ACE的通知信号量,等待时间(2008-12-21 14:24:19)

ACE的通知信号量,等待时间(2008-12-21 14:24:19)标签:it  分类:ACE学习笔记1.通知信号量:ACE_Thread_Semaphore 第一步:初始化:m_callSem(0);第二部:同步等待:callSem.acquire();第三部:通知信号量加一:callSem.release();

2009-03-11 16:19:00 1327

转载 5.2 ACE_Task(任务)

. 任务和主动对象(Active Object): 并发编程模式 - ACE程序员教程2008-12-07 13:525.2 ACE_Task(任务)每个ACE_Task对象都包含一个或多个线程和一个底层的消息队列. 任务之间可以是通过这些消息队列进行通信. (用putq()来插入用getq()来提取.)它做好了框架. 我们只要在派生的实际任务类中提供那些用以回调的模板方法就可

2009-03-11 15:49:00 2466 1

转载 第 4章 线程管理:ACE 的同步和线程管理机制

第 4章 线程管理:ACE 的同步和线程管理机制标签:  ACE  线程  机制  管理  2008-12-10 09:16 出自:《ACE程序员指南》     ACE 拥有许多不同的用于创建和管理多线程程序的类。在这一章里,我们将查看 ACE 中的一些线程管理机制。在一开始,我们将查看那些简单的线程包装类,它们的管理功能很少。但是,随着内容的进展,我们将查看 ACE_Th

2009-03-11 15:46:00 1179

转载 Proactor机制下的异步SOCKET开发

Proactor机制下的异步SOCKET开发标签:  SOCKET  Proactor  异步  机制  开发  2008-12-08 18:10 Proactor机制和reactor机制的不同1、在reactor机制下,所有I/O请求是同步的,即接到信号请求后,立即执行信号处理,执行完后才开始继续监听信号请求,其接收信号请求的机制是被动的而在Proactor机制下,I/O请求

2009-03-11 15:12:00 454

转载 ACE基本的多线程编程(Basic Multithreaded Programming)

 ACE基本的多线程编程(Basic Multithreaded Programming)标签:  Programming  ACE  Basic  线程  2008-12-10 19:23 从ACE_Task_Base或ACE_Task派生你的线程对象,重载virtual int svc (void);虚函数,那就是线程的入口函数。#include #include

2009-03-11 14:55:00 763

blender quick start

blender是一款3d建模工具,用于3d模型生成

2012-06-20

memcached详细介绍

memcached是一款强大的内存共享工具,在大型网站建设中起到重要的作用,常用于cacheserver的开发。

2009-04-01

空空如也

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

TA关注的人

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