zoukankan      html  css  js  c++  java
  • C++ 线程的创建,挂起,唤醒,终止

    例子:
    线程代码:
    DWORD __stdcall ThreadProc(LPVOID lpParameter) { CMultiThreadDlg * pdlg = (CMultiThreadDlg *)lpParameter; pdlg->m_ProCtrl.SetRange32(0,99999); for (int i = 0; i < 99999; i++) { pdlg->m_ProCtrl.SetPos(i); } return 0; }
    void CMultiThreadDlg::OnBtCreate() { m_hThread = CreateThread(NULL,0,ThreadProc,this,0,NULL); }
    挂起线程:
    void CMultiThreadDlg::OnBtSuspend() { SuspendThread(m_hThread); }
    唤醒线程:
    void CMultiThreadDlg::OnBtResume() { ResumeThread(m_hThread); }
    终止线程:
    void CMultiThreadDlg::OnBtTerminate() { TerminateThread(m_hThread); }
     
     
    SuspendThread
    该函数用于挂起线程.语法格式如下:
    DWORD SuspendThread(HANDLE hThread);
    ·         hThread: 表示线程句柄
    ·         返回值: 如果函数执行成功,返回值为之前挂起的线程次数;如果函数执行失败,返回值为0xFFFFFFFF
    ResumeThread
    该函数用于煎炒线程挂起的次数,如果线程挂起的次数为0,将 唤醒线程.语法格式如下:
    DWORD ResumeThread(HANDLE hThread);
    ·         hThread: 表示线程句柄
    ·         返回值: 如果函数执行成功,返回值为之前挂起的线程次数;如果函数执行失败,返回值为0xFFFFFFFF
    ExitThread
    该函数用于结束当前线程.语法格式如下:
    VOID ExitThread(DWORD dwExitCode);
    ·         dwExitCode: 表示线程退出代码
    TerminateThread
    该函数用于强制 终止线程的执行.语法格式如下:
    BOOL TerminateThread(HANDLE hThread, DWORD dwExitCode);
    ·         hThread: 表示待终止的线程句柄
    ·         dwExitCode: 表示线程退出代码
  • 相关阅读:
    对于excel的操作
    初试 ElasticSearch
    02-基本数据类型
    javascript 三种数组扁平化方式
    javascript数组操作方法
    javascript数组的16种循环(包含ES5、ES6)
    01-typescript-安装及编译
    nvm管理多版本node
    css块级居中的四种方法
    javascript try-catch-finally异常捕获
  • 原文地址:https://www.cnblogs.com/riskyer/p/3339551.html
Copyright © 2011-2022 走看看