最新标注
热门标注
历史更新
站点地图
RSS
Home
CrazyCoder
»
原创
»
it评论
»
it业界
»
互联网
»
精品软件
开发语言
»
网络编程
编程综合
嵌入式开发
算法
英文资料
汇编语言
PowerBuilder
p2p技术
验证码识别
DotNet
Java教程
C语言教程
C 教程
Delphi教程
VB教程
QQ协议开发
项目管理
»
数据库
»
Web开发
»
Python
Css教程
XML教程
网页特效
PhotoShop教程
Illustrator教程
CorelDraw教程
Ruby教程
CorelDraw教程
网站安全
开发平台-工具
Web
PHP教程
Flash教程
Ajax教程
Javascript教程
Html教程
Dreamweaver
Asp教程
技术综合
»
软件测试
办公软件
QQ相关
Windows
网络技术
游戏开发
软件工程
软件教程
编程思想
游戏开发
外挂开发
OpenApi
AutoCad
广告设计
3D设计
平面设计相关
移动手机开发
服务器
»
Linux
Unix/FreeBsd
web服务器
服务器技术
安全
博文摘选
»
翻译
首页
»
游戏开发
» 网络游戏制作:网络游戏制作技术( 3)
Rss订阅
网络游戏制作:网络游戏制作技术( 3)
on 2008-12-14
in
游戏开发
|
0 Comment
续上在这里我将要向大家简单介绍
下游戏服务器中必须要处理另外
项主要技术:
线程池技术
开始 我来向大家简单来介绍
下线程池
概念
先简单了解下线程先
线程可以理解为
个function , 是
个为了进行某
项任务或者处理某
项具体事务
例如:
UINT WINAPI FunctionCtrl(void *) //线程处理
{
进行某
项任务或者处理某
项具体事务
………….
EXITFUNCTION_CODE; //退出码
}
而我们
线程池自身可以理解为是很多线程
个管理者也可以说是
个很多线程
统筹者
我们
线程池具有生成线程功能也具有撤消线程
权利
这就是简单
线程池
概念(我
理解
呵呵!!)接下来就来具体介绍线程池了!!
首先 介绍我们为什么要使用线程池技术呢?大家都知道我们
游戏服务器端要处理大量
用户请求,
同时需要发送大量
游戏数据到客户端
从而来驱动客户端
执行和维持游戏
进行
那我们
服务器端是如何进行处理
呢?其实在这里我们就充分用到了线程池技术
那么用这种技术有什么好处和优点呢?以下就来简述这些
有不足的处和不当的处希望有心人指正
呵呵!!
大家都了解在我们服务器整个运行过程中
我们将整个运行时间分成很多个时间片
而对于这些已经分成
各个微小
时间片而言
在各个区别时间片中要处理
用户请求和需要发送到用户端
游戏数据量也将是不
样
而处理用户
请求和发送数据到客户端
工作都是由
系列
线程来执行
鉴于上面
这样我们就可以感性
设想下服务器运行中
两种情况:
第
种在我们服务器运行到某个时间片需要处理大量
用户请求和发送大量数据
有这样繁重
工作任务
我们就需要有很多
工作者线程来处理完成这样
任务
以此来满足我们
工作需要
这样说我们就必须拥有很多工作者线程
第 2种在我们服务器运行到某个时间片需要处理
用户请求和发送数据工作量比较小
由于任务比较少
我们用来处理任务
工作者线程也就不需要很多
也就是说我们只要有少量
工作者线程就可以达到我们
工作要求了
对于上面
两种情况
我们可以介绍说明这样
个事实
也就是说我们服务器在运行过程中运行状态是动态改变
呼忙呼闲
时急时慢
服务器
这样
行为动作和性质可以做
个如下比喻:服务器就是
个企业
在企业业务非常忙
时候
公司
员工数量就必须要增多来满足业务
需要
而在企业不景气
时候
接
业务也就比较少
那么来说就会有很多员工比较闲
那我们该如何办呢?为了不浪费公司资源和员工自身资源
我们就必须要裁减员工
从而来配合公司
运行
而做这样工作
可能是公司
人力资源部或者其他部分
现在就认为是人力资源部了
呵呵
对于上面
比喻我们来抓几个关键词和列举关键词和我们主题对象进行对照
以此来帮大家来简单理解服务器运行和线程池
企业 : 游戏服务器
人力资源部 : 线程池
职员 : 工作者线程
在说了这么多
废话后
就具体
将线程池模型 ThreadPool.h文件提供以供大家参考:
GThreadPoolModel
{
friend
UINT WINAPI PoolManagerProc(void* pThread); //线程池管理线程
friend
UINT WINAPI WorkerProc (void* pThread); //工作者线程
enum SThreadStatus //线程池状态
{
BUSY,
NORMAL,
IDLE
};
enum SReturnvalue //线程返回值
{
MANAGERPROC_RETURN_value = 10001,
WORKERPROC_RETURN_value = 10002,
…………….
};
public:
GThreadPoolModel
;
virtual ~ GThreadPoolModel
;
virtual bool StartUp(WORD
_num,WORD max_num)=0; //启动线程驰
virtual bool Stop(void )=0; //停止线程池
virtual bool ProcessJob(void *)=0; //提出工作处理要求
protected:
virtual bool AddNewThread(void )=0; //增加新线程
virtual bool DeleteIdleThread(void)=0; //删除空闲线程
UINT WINAPI PoolManagerProc (void* pThread); //线程池管理线程
UINT WINAPI WorkerProc (void* pThread); //工作者线程
GThreadPoolModel::SThreadStatus GetThreadPoolStatus( void ); //获取线程池当前工作状态
private:
void Init
;
void Release
;
protected:
………………………..
private:
};
以上是线程池模型
个简单
而对于具体
工作处理线程池
可以由此模型进行继承
以此来满足具体
需要
到这里就简单
向大家介绍了线程池
处理方式
有不对的处望指正
同时欢迎大家和我交流
希望大家好我进行交流QQ :81556019 MSN :
[email protected]
Tags:
网络游戏制作软件
如何制作网络游戏
网络游戏外挂制作
网络游戏制作
延伸阅读
2009-2-12
--
网络游戏制作:网络游戏制作技术( 4)
2008-12-14
--
网络游戏制作:网络游戏制作技术( 2)
2009-2-12
--
网络游戏制作:网络游戏制作技术( 5)
2009-2-12
--
网络游戏制作:网络游戏制作技术(一)
2009-2-12
--
网络游戏制作:网络游戏制作随谈(一)
最新评论
发表评论
昵称
评论
验证码
点击图片更换
赞助商广告
随机更新
【转】Dreamweaver CS5.5试用小感和破...
Adobe Dreamweaver CS5 官方简体/繁体...
单元测试,高效 JavaScript 单元测试
建筑电气与智能化,对象的自治与智能化
谷歌施密特,施密特称谷歌核心竞争对手只有微软
正则表达式,MySQL正则表达式
敏捷测试,敏捷软件测试的七个关键成功要素
高朋网,高朋网上线首单商品违约案上诉被驳回
cams服务器,关于Linux版本CAMS服务器Linux系统内...
程序代码,程序代码里的幽默精神
Photoshop合成实例:五彩动感的颜料舞者
Silverlight中二维变换
转:flex打印系列教程
Adobe Photoshop CS6 中文版视频教程
jscript,JavaScript、JScript和ECMAScript
关注前端 JavaScript进一步学习(一)
ios2011,雷锋网2011年度10佳iOS应用(海外版)
用户体验设计,用户体验设计的五项原则
win7开始菜单,我的菜单我做主Win7开始菜单自定义设置
tomcat,Tomcat全攻略
sql server 2005 连接与登陆失败问题
wcf客户端,WCF客户端运行时架构体系详解[下篇]
闪回数据库,Oracle 10g 数据库闪回技术复习资料
matlab,VS&MATLAB
Oracle 10g 数据库基本体系结构复习资料(
Google Chrome 参数设置
soa平台,谈SOA和平台
2011年10大,2011年度10大iPad游戏
天堂执法者,未来执法者使用的5大秘密武器
优酷播不了,优酷盗播犯众怒 须知回头仍是岸
热门标注
成为教师的步骤
(1)
高效液相操作步骤
(1)
成为苹果开发者
(1)
集成式电磁输油泵
(1)
ebuddy
(1)
诺基亚量产工具
(1)
路易斯阿姆斯特朗
(1)
阿姆斯特朗
(1)
尴尬处境
(1)
wow尴尬的处境
(1)
百货商店开店日记
(1)
山麓百货商店
(1)
百货商店
(1)
熊猫百货商店
(1)
google商店
(1)
wcf调试
(1)
涉足的近义词
(1)
涉足是什么意思
(1)
涉足的意思
(1)
印度涉足南海
(1)
最近更新
梦幻诛仙》两次增开新服瞬满
10月22日19:00时再次加开3组新服
arp绑定脚本:绑定HGE到AngelScript脚本系统
游戏开发流程:游戏开发制作流程
MD2关键帧动画实现思路方法
通用编程器:游戏引擎中的通用编程技术
3dgameengine:3D Engine 的设计架构
运动模糊:简单的运动模糊效果实现思路方法
qq游戏外挂:通过游戏策划阶段防治游戏外挂
坐标转换:3D坐标转换成屏幕坐标的思路方法
外挂制作实例:游戏外挂制作例子包含代码
setstreamsource:SetStreamSource函数和数据流的使用
depthoffield:景深效果(Depth of Field) 的实现思路方法
角色扮演游戏引擎的设计原理
hge使用:HGE使用GDI绘制中文字体
如何成为一个程序员:想成为一个游戏程序员需要有以下资料
游戏设计的十条戒律
1万游戏开发专业人员难满足10万需求
扫雷游戏vb代码:模拟实现扫雷游戏代码
界面设计:界面流程控制模式设计
最新标注
成为教师的步骤
(1)
高效液相操作步骤
(1)
成为苹果开发者
(1)
集成式电磁输油泵
(1)
ebuddy
(1)
诺基亚量产工具
(1)
路易斯阿姆斯特朗
(1)
阿姆斯特朗
(1)
尴尬处境
(1)
wow尴尬的处境
(1)
百货商店开店日记
(1)
山麓百货商店
(1)
百货商店
(1)
熊猫百货商店
(1)
google商店
(1)
wcf调试
(1)
涉足的近义词
(1)
涉足是什么意思
(1)
涉足的意思
(1)
印度涉足南海
(1)
最新评论