VC中创建线程的方法

创建一个线程的方法:
创建线程使用CreateThread
The CreateThread function creates a thread to execute within the address space of the calling process.

HANDLE CreateThread(
                                       LPSECURITY_ATTRIBUTES lpThreadAttributes,  

                                         //指向SECURITY_ATTRIBUTES结构体的指针。
                                        
                                        DWORD dwStackSize,   //指定初始提交栈的大小

                                         LPTHREAD_START_ROUTINE lpStartAddress,
                                        //由线程执行,表示线程的起始地址,指定线程入口函数,
                                       //该入口函数的参数类型以及返回类型要与ThreadProc()函数声明的类型要保持一致
                                        LPVOID lpParameter,   //指定一个单独的值传递给线程
                                        DWORD dwCreationFlags, //指定控件线程创建的附加标记
                                        LPDWORD lpThreadId );    //指向一个用来接收线程的标识符变量

vc终止线程有三种方法:   
   1.线程可以在自身内部调用AfxEndThread()来终止自身的运行   
    
   2.可以在线程的外部调用BOOL    TerminateThread(    HANDLE    hThread,    DWORD    dwExitCode    )来强行终止一个线程的运行,   
   然后调用CloseHandle()函数释放线程所占用的堆栈   

   TerminateThread会有资源泄漏,不要万不得已,不要用这个函数
     DWORD code;
   if(GetExitCodeThread(MonitorComm,&code))   //MonitorComm 你创建的线程句柄
    if(code==STILL_ACTIVE)
    {
      TerminateThread(MonitorComm,0);
      CloseHandle(MonitorComm);
    }

    这样就安全了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值