青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

   C++ 技術中心

   :: 首頁 :: 聯系 ::  :: 管理
  160 Posts :: 0 Stories :: 87 Comments :: 0 Trackbacks

公告

鄭重聲明:本BLOG所發表的原創文章,作者保留一切權利。必須經過作者本人同意后方可轉載,并注名作者(天空)和出處(CppBlog.com)。作者Email:coder@luckcoder.com

留言簿(27)

搜索

  •  

最新隨筆

最新評論

評論排行榜

一.創建線程函數
     常用的創建線程的函數是CreateThread,還有MFC中的AfxBeginThread方法.另一種函數是_beginthreadex,
其實它在內部調用了CreateThread,在調用之前_beginthreadex做了很多的工作,從而使得它比CreateThread更
安全.所以一般使用_beginthreadex來創建線程.于是以下使用_beginthreadex函數來創建線程類.

二.線程類示例
1.Thread.h文件如下:
#ifndef _THREAD_H__
#define _THREAD_H__
#include 
<process.h>
#include 
<windows.h>

class CThread
{
public:
public:
    CThread();
    
virtual ~CThread();
    
    BOOL StartThread();   
//開始線程
    BOOL SuspendThread(); //掛起線程
    virtual BOOL Run();   //線程的入口
    BOOL StopThread();    //等待線程退出再返回
    
    
static unsigned __stdcall start_address( void * obj);

public:
    HANDLE m_hthread;        
//線程句柄
    HANDLE m_hEventSuspend;  //用于標識線程是工作,還是掛起狀態
    BOOL m_status;           //線程狀態,FALSE表示線程退出狀態,TRUE表示未提出狀態
    unsigned  m_thrdaddr;
}
;

#endif/*_THREAD_H__*/


2.Thread.cpp文件如下:
#include "Thread.h"


CThread::CThread()
{
    m_hEventSuspend 
= CreateEvent(0,TRUE,FALSE,NULL);//創建事件句柄,且為非激發狀態
    m_status 
= TRUE;

    
//創建線程
    m_hthread = (HANDLE)_beginthreadex(NULL,0,CThread::start_address,this,0,&m_thrdaddr);
}


CThread::
~CThread()
{
    CloseHandle(m_hEventSuspend);
    CloseHandle( m_hthread );
}


BOOL CThread::StartThread()
{
    
return SetEvent(m_hEventSuspend);
}


BOOL CThread::SuspendThread()
{
    
return ResetEvent(m_hEventSuspend);
}


BOOL CThread::Run()
{
    
return TRUE;
}


BOOL CThread::StopThread()
{
    m_status 
= FALSE;//將線程狀態置為退出
    StartThread();   //把線程喚醒,以免掛死在休眠處
    WaitForSingleObject(m_hthread,INFINITE); //等待線程退出

    
return TRUE;
}


unsigned __stdcall CThread::start_address( 
void * obj)
{
    CThread
* pthread = static_cast<CThread*>(obj);

    
while(pthread->m_status)
    
{
        WaitForSingleObject(pthread
->m_hEventSuspend,INFINITE);//控制掛起,運行
        
//如果自動退出
        if (!pthread->Run())
            
break;
    }

    _endthreadex(
0);

    
return 0;
}



三.線程類的使用
1. 新建一個win32控制臺工程,代碼如下:
#include "Thread.h"
#include 
<iostream>
#include 
<conio.h>


using namespace std;


class CMyThread:public CThread
{
public:
    BOOL Run()
    
{
        cout
<<"hello!"<<endl;
        Sleep(
5000);
        
return TRUE;
    }

}
;

int main(int argc,char *argv[])
{
    
//創建線程
    CMyThread mythread;

    
//讓線程啟動
    mythread.StartThread();
    
    
//按任意鍵,線程掛起
    _getch();
    mythread.SuspendThread();
    cout
<<"thread suspend"<<endl;

    
//接任意鍵,線程停止
    _getch();
    mythread.StopThread();
    cout
<<"thread stop"<<endl;

    
//按任意鍵,程序退出
    _getch();

    
return 0;
}



posted on 2011-03-11 14:45 C++技術中心 閱讀(7595) 評論(7)  編輯 收藏 引用 所屬分類: Windows 編程

Feedback

# re: 一個封裝好的線程類[未登錄] 2011-03-12 10:16 Lucifer
我覺得你應該把static unsigned __stdcall start_address( void * obj);設置為private的  回復  更多評論
  

# re: 一個封裝好的線程類 2011-04-24 01:15 dongxu
如果線程需要傳入參數時這個封裝類比較難做到
可以改進一下
  回復  更多評論
  

# re: 一個封裝好的線程類 2011-04-24 08:24 C++技術中心
@dongxu
你好,該類是封裝好的類。如果自己的類需要擁用線程的特征,可以繼承之。然后覆蓋父類的virtual Run()函數。在里面實現你需要的功能。您如果需要傳入任何對象或指針,可以在你繼承的類中任何新增函數設置。  回復  更多評論
  

# re: 一個封裝好的線程類 2013-09-30 17:57 歲月漫步
非常之好,收藏了  回復  更多評論
  

# re: 一個封裝好的線程類 2014-09-02 23:32 abc
WaitForSingleObject(m_hthread,INFINITE); //等待線程退出

這里是不是寫錯了?不起作用的?
  回復  更多評論
  

# re: 一個封裝好的線程類 2014-11-06 18:43 freelege
我覺得你的m_hEventSuspend最好改為m_hEventResume, 否則意思正好相反。  回復  更多評論
  

# re: 一個封裝好的線程類 2015-08-27 10:21 Mis毛
使用了static,限制了其只能創建一個子線程,假若我想創建多個子線程怎么辦?  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            蜜桃av一区二区| 欧美在线视频a| 99riav久久精品riav| 另类av导航| 男男成人高潮片免费网站| 久久久久久穴| 欧美.www| av成人免费观看| 亚洲自拍电影| 久久久久久国产精品一区| 久久人91精品久久久久久不卡| 老司机免费视频一区二区| 另类尿喷潮videofree| 欧美人与性动交a欧美精品| 亚洲尤物在线| 久久久久久夜| 欧美日韩在线观看一区二区| 国产精品美女| 亚洲韩国精品一区| 国产精品99久久不卡二区| 久久视频一区| 国产精品福利久久久| 91久久午夜| 亚洲精品一区二区三区樱花 | 亚洲欧美精品| 久久久久久久91| 欧美四级在线观看| 狠狠色狠狠色综合| 亚洲曰本av电影| 亚洲电影av| 久久av在线看| 亚洲伦理在线| 免费成人黄色av| 国产在线麻豆精品观看| 一区二区三区精密机械公司| 久久综合国产精品台湾中文娱乐网 | 国内偷自视频区视频综合| 亚洲激情在线视频| 久久精品一本| 亚洲综合视频1区| 欧美日韩在线播| 99国内精品久久久久久久软件| 免费成人av| 亚洲欧美一区二区精品久久久| 欧美日产在线观看| 欧美成人官网二区| 国产亚洲福利一区| 亚洲一区二区三区色| 亚洲欧洲精品一区| 亚洲春色另类小说| 亚洲精品国久久99热| 亚洲高清免费在线| 久久免费视频这里只有精品| 亚洲先锋成人| 国产精品免费看| 亚洲摸下面视频| 亚洲图片在区色| 欧美午夜在线| 亚洲欧美综合另类中字| 一区二区三区欧美成人| 欧美视频在线观看免费| 亚洲午夜在线| 亚洲校园激情| 国产亚洲欧美日韩日本| 久久九九精品99国产精品| 香蕉视频成人在线观看| 国产欧美一区二区精品性| 欧美一区国产一区| 欧美影院久久久| 尤物yw午夜国产精品视频明星| 久久蜜臀精品av| 久久久免费精品视频| 免费成人毛片| 欧美一级在线亚洲天堂| 亚洲永久免费精品| 国产揄拍国内精品对白| 蜜臀av性久久久久蜜臀aⅴ| 麻豆freexxxx性91精品| 99国产欧美久久久精品| 亚洲精品国产精品国自产观看| 欧美人成免费网站| 欧美一级片在线播放| 久久久人成影片一区二区三区观看 | 亚洲综合成人在线| 激情视频一区二区| 亚洲精品1区| 国产精品一区亚洲| 免费一级欧美片在线播放| 欧美精品播放| 久久精品国产69国产精品亚洲 | 久久亚洲精选| 亚洲自拍另类| 久久香蕉国产线看观看av| 99视频有精品| 久久激情综合网| 中文在线资源观看视频网站免费不卡| 亚洲在线观看| 亚洲人成网在线播放| 欧美激情视频在线免费观看 欧美视频免费一 | 亚洲盗摄视频| 欧美日韩亚洲一区二区三区在线 | 欧美中文字幕视频| 另类尿喷潮videofree | 国产日本欧美在线观看| 欧美大片免费观看| 国产精品一区二区三区四区 | 亚洲国产精品成人精品| 国产欧美成人| 亚洲国产精品第一区二区| 国产精品免费福利| 亚洲精品裸体| 亚洲国产精品成人一区二区 | 国产在线拍偷自揄拍精品| 亚洲国产精品一区二区第一页| 国产精品视频成人| 亚洲免费福利视频| 久久精品中文字幕一区二区三区| 裸体女人亚洲精品一区| 国产欧美va欧美va香蕉在| 一级成人国产| 99在线|亚洲一区二区| 久久影院午夜论| 久久男人资源视频| 国产午夜精品理论片a级探花| 一区二区免费在线视频| 99在线精品视频在线观看| 免费日韩精品中文字幕视频在线| 久久久国产精品一区| 国产精品入口福利| 亚洲视频福利| 午夜精品视频在线观看| 欧美日韩一视频区二区| 9久re热视频在线精品| 99视频一区二区| 欧美激情综合色| 亚洲日本va午夜在线影院| 亚洲日韩欧美视频| 欧美福利视频网站| 亚洲激情成人网| 亚洲手机在线| 国产精品国产一区二区| 亚洲视屏一区| 欧美一区三区二区在线观看| 国产精品爽黄69| 午夜精品亚洲| 裸体歌舞表演一区二区| 最近中文字幕mv在线一区二区三区四区| 久久久久久久网站| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美精品国产一区| 亚洲国产另类久久久精品极度| 亚洲日本成人女熟在线观看| 欧美成人精品三级在线观看| 亚洲欧洲中文日韩久久av乱码| 一本一本久久a久久精品综合麻豆| 欧美肉体xxxx裸体137大胆| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 久久综合伊人77777蜜臀| 欧美激情一区二区在线 | 亚洲国产精品久久精品怡红院| 老司机免费视频一区二区三区| 欧美激情一区二区三区在线视频观看 | 欧美日韩高清在线观看| 一区二区三区www| 久久精品中文字幕免费mv| 激情综合五月天| 欧美精品一区三区在线观看| 一本色道久久综合狠狠躁的推荐| 欧美一级大片在线观看| 精品成人免费| 欧美四级剧情无删版影片| 欧美制服第一页| 日韩视频精品在线| 久久综合影音| 亚洲专区欧美专区| 在线看欧美日韩| 国产精品久久久免费| 六十路精品视频| 亚洲欧美一级二级三级| 亚洲精品麻豆| 另类欧美日韩国产在线| 亚洲一区免费| 黑人巨大精品欧美一区二区| 欧美日本国产精品| 久久精品亚洲乱码伦伦中文| 亚洲精品国产视频| 久色婷婷小香蕉久久| 亚洲一级片在线看| 亚洲欧洲日产国产网站| 国产日韩欧美一区| 欧美午夜电影一区| 免费一区视频| 欧美自拍偷拍| 亚洲一区二区欧美日韩| 亚洲国产精品一区二区久| 久久女同精品一区二区| 久久精品国产免费观看| 国产亚洲精品7777| 国产精品黄色在线观看| 欧美精品三区|