自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 天龙

http://blog.csdn.net/qdslp/article/category/2035263

2014-04-25 18:26:42 979

原创 select ---IO 模型

Select模型原理利用select函数,判断套接字上是否存在数据,或者能否向一个套接字写入数据。目的是防止应用程序在套接字处于锁定模式时,调用recv(或send)从没有数据的套接字上接收数据,被迫进入阻塞状态。 select参数和返回值意义如下:int select ( IN int nfds,                          

2014-04-25 16:38:42 730

原创 游戏服务器帧率控制

  网络游戏服务器的主要作用是模拟整个游戏世界,客户端用过网络连接把一些信息数据发给服务器,在操作合法的情况下,更新服务器上该客户端对应的player实体、所在场景等,并把这些操作及其影响广播出去。让别的客户端能显示这些操作。    在这个模拟过程中,需要解决的一个重要问题是:多长时间处理(更新)一次该服务器上的待处理事件,体现在实际开发中,这就是一个服务器端的心跳设计问题(tick)

2014-04-21 22:00:39 4590

原创 多线程锁竞争造成的开销

先看实例代码:

2014-04-18 12:03:17 1537

原创 内核级线程的阻塞

内核级线程被操作系统内核创建并管理。当这样的线程内部

2014-04-17 18:41:19 2256

原创 IO密集型线程 CPU密集型线程

关于这两种类型的线程本人认为是本基础的东西,不知道的请baidu.CPU密集型线程的作用是进行无阻塞的逻辑运算的线程。比如:RPG游戏中的游戏逻辑服务器(也叫地图服务器)里面的主逻辑线程,这个主逻辑线程需要进行大量的无阻塞的逻辑处理。当被操作系统内核调度的时候,这个线程就在给定的CPU执行时间内进行无阻塞的操作。如果这个游戏逻辑服务器还创建更多的线程来进行逻辑操作的话,这样的行为是得不

2014-04-17 17:56:04 5968

原创 内核级线程 和 用户级线程

 从线程实现的角度看,线程可以分成用户级线程,内核级线程和轻量级线程。  在内核级线程的实现中,线程管理的所有工作由操作系统内核来做,内核专门提供API供开发者使用,应用程序区不需要有线程管理的代码。内核级线程的优点:在多处理器上,内核能调度同一进程中多个线程并发执行;若进程中一个线程被阻塞,内核能调度同一进程的其他线程占有处理器运行,也可以运行其他进程中的线程;由于内核线程仅有很小的

2014-04-17 17:35:30 1618

转载 对c++下的STL 模仿,并移置到C下

http://bbs.chinaunix.net/thread-848385-1-1.html

2014-04-17 10:46:27 563

转载 __try,__except,__finally,__leave异常模型机制

yu从本篇文章开始,将全面阐述__try,__except,__finally,__leave异常模型机制,它也即是Windows系列操作系统平台上提供的SEH模型。主人公阿愚将在这里与大家分享SEH( 结构化异常处理)的学习过程和经验总结。 深入理解请参阅>第23, 24章. SEH实际包含两个主要功能:结束处理(termination handling)和异常处理(ex

2014-04-15 23:35:09 600

原创 异常处理

http://www.vckbase.com/index.php/wv/1562http://bbs.csdn.net/topics/390368275

2014-04-15 18:52:06 604

原创 运行时错误检查(/RTC)编译选项及实现原理

运行时错误检查(/RTC)编译选项及实现原理 作者:童磊(magictong) 环境:VS2005前因后果:debug居然编不过!!!这里准备说4个例子,都是为了说明debug版本对于调试是很重要的,很多问题在调试版本下都会提前暴露出来。 注意:随意调整优化,可调试选项可能会遇到下面的编译错误:Command line error D8016 : '/O

2014-04-10 20:55:35 1463

原创 线程天敌TerminateThread与SuspendThread

线程天敌TerminateThread与SuspendThread 作者:童磊(magictong) 目的:不是演示TerminateThread和SuspendThread的原理而是希望能在自己的程序中摒弃它们。 一、不使用TerminateThread的N条理由(先YY一下)1、如果使用TerminateThread,那么在拥有线程的进程终止运行之前,系

2014-04-10 20:52:37 2479

原创 WINDOWS核心编程学习心得--线程调度

线程的主要有五种状态1.新建状态:新创建了一个线程对象。2.就绪状态:线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。3.运行状态:就绪状态的线程获取了CPU,执行程序代码。4.阻塞状态:阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。5.

2014-04-10 16:13:10 811

原创 模板声明与定义要放在同一文件中?

“通常情况下,你会在.h文件中声明函数和类,而将它们的定义放置在一个单独的.cpp文件中。但是在使用模板时,这种习惯性做法将变得不再有用,因为当实例化一个模板时,编译器必须看到模板确切的定义,而不仅仅是它的声明。因此,最好的办法就是将模板的声明和定义都放置在同一个.h文件中。这就是为什么所有的STL头文件都包含模板定义的原因。”[1]"标准要求编译器在实例化模板时必须在上下文中可以查看

2014-04-10 16:11:57 716

原创 CSDN主题首页

http://www.csdn.net/tag/

2014-04-04 18:12:38 1341

原创 恩 很好

当读者有一定c/c++基础推荐的阅读顺序:level 1从<<essential c++>>开始,短小精悍,可以对c++能进一步了解其特性以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完level 2然后从<<effective c++>>开始转职,这是圣经,请遵守1

2014-04-03 21:24:30 811

原创 C++中的new、operator new与placement new

C++中的new/delete与operator new/operator deletenew operator/delete operator就是new和delete操作符,而operator new/operator delete是函数。new operator(1)调用operator new分配足够的空间,并调用相关对象的构造函数(2)不可以被重载operato

2014-04-01 21:45:23 659 1

空空如也

空空如也

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

TA关注的人

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