Cpper
C/C++高级工程师 Android高级软件工程师 IT集成工程师 音频工程师 熟悉c,c++,java,c#,py,js,asp等多种语言 程序猿
这是当前盖莫游戏引擎设计的简单线程相关模块,比较简单
当然也就通俗易懂了

最基本的Mutex...

 1 ////////////////////////////////////////////////////////
 2 /// 定义引擎线程互斥
 3 ////////////////////////////////////////////////////////
 4 class Mutex : public Object
 5 {
 6 public:
 7     Mutex(){}
 8     virtual ~Mutex(){}
 9 public:
10      ////////////////////////////////////////////////////
11     /// 锁线程
12     ////////////////////////////////////////////////////
13     virtual void Lock() = 0;
14      ////////////////////////////////////////////////////
15     /// 解线程
16     ////////////////////////////////////////////////////    
17     virtual void UnLock() = 0;     
18     
19     DECLARE_OBJECT(Mutex)
20 };

方便的线程锁
 1 ////////////////////////////////////////////////////////
 2 /// 定义引擎线程基本锁
 3 ////////////////////////////////////////////////////////
 4 template<class Lock = RefPtr<Mutex> >
 5 class MutexLock
 6 {
 7 public:   
 8     MutexLock(Lock ptr):mutex(ptr){mutex->Lock();}
 9     ~MutexLock(){mutex->UnLock();}
10 private:
11     Lock mutex;    
12 };

简单的更新和渲染同步类
 1 template<class T,class Mutex,class Condition>
 2 class ThreadSync
 3 {
 4 public:
 5     double time;    //! timestamp
 6     float  difftime;
 7     int    physics_frame;
 8     int    render_frame;
 9     Mutex  lock;
10     Condition physics_condition;
11     Condition render_condition;          
12 };

至于具体的使用吗 期待盖莫2.1.1版本吧O(∩_∩)O~

posted on 2010-03-24 16:36 ccsdu2009 阅读(1497) 评论(1)  编辑 收藏 引用 所属分类: Game引擎
Comments
  • # re: 盖莫游戏引擎线程相关模块设计
    Goteet
    Posted @ 2010-03-25 10:54
    想看线程的实现  回复  更多评论   
  • # re: 盖莫游戏引擎线程相关模块设计[未登录]
    ccsdu2009
    Posted @ 2010-03-25 11:35
    线程实现和平台有关  回复  更多评论   

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理