socketref,再见!高德

https://github.com/adoggie

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

常用链接

留言簿(54)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

#ifndef _BT_THREAD_H
#define _BT_THREAD_H

#include <windows.h>

class btworkThread{
public:
    btworkThread( void(*entry)(btworkThread* ,void*),void* user){        
        _entry = entry;        
        _param = user;
        _thandle = CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)btworkThread::run,user,NULL,&_tid);
    }
    void    stop(){
        _loop = false;
    }
    void    wait(){
        while(!_end){
            Sleep(20);
        }
        Sleep(20);  // ensure that thread has terminated
    }
    void    stopAndWait(){
        stop();wait();
    }
    bool    loop(){
        return _loop;
    }
    void    code_begin(){
        _loop = true; _begin = true;_end=false;
    }
    void    code_end(){
        _loop = false; _begin = false;_end=true;
        CloseHandle(_thandle);
    }
protected:
    static void    run(btworkThread* thread){
        thread->_entry(thread,thread->_param);
    }
private:
    volatile bool    _loop,_begin,_end;
    void (*_entry)(btworkThread* ,void*);
    void*    _param;
    DWORD    _tid;
    HANDLE    _thandle;
};
posted on 2007-02-23 22:47 放屁阿狗 阅读(669) 评论(3)  编辑 收藏 引用 所属分类: C++/Boost/STL/Template

Feedback

# re: 随便写个 线程类 玩玩 2007-05-12 10:41 et
niu!  回复  更多评论
  

# re: 随便写个 线程类 玩玩 2007-12-27 22:02 秦歌
厉害!  回复  更多评论
  

# re: 随便写个 线程类 玩玩 2008-01-10 12:57 flyswift
CWinThread  回复  更多评论
  


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