zoukankan      html  css  js  c++  java
  • Windows 下 C/C++ 多线程编程入门参考范例

    [c-sharp] view plaincopy
     
     
    1. #include <windows.h>  
    2. #include <iostream>  
    3. using namespace std;  
    4. DWORD WINAPI myThread(LPVOID argv);//声明一个线程函数   
    5. int main(int argc, char *argv[])  
    6. {  
    7.     string s;  
    8.     HANDLE myHandle;  
    9.     do{  
    10.         cin.clear(); cin.sync();  
    11.         cin>> s;  
    12.         switch(s.at(0)){  
    13.             case '0':  
    14.                 myHandle = CreateThread(NULL,0,myThread,(LPVOID)s.c_str(),0,NULL);//创建线程              
    15.                 break;  
    16.             case '1':  
    17.                 if(myHandle) SuspendThread(myHandle);//挂起线程   
    18.                 break;  
    19.             case '2':  
    20.                 if(myHandle) ResumeThread(myHandle);//恢复线程   
    21.                 break;  
    22.             case '3':  
    23.                 if(myHandle) TerminateThread(myHandle,0);//终止线程   
    24.                 break;  
    25.             case '4':  
    26.                 if(myHandle) SetThreadPriority(myHandle,THREAD_PRIORITY_NORMAL);//设定线程优先级   
    27.                 break;  
    28.             default:  
    29.                 break;  
    30.         }  
    31.         cout<< s << endl;  
    32.     }while(s!="exit" && s!= "quit");  
    33.     return 0;  
    34. }  
    35.   
    36. DWORD WINAPI myThread(LPVOID argv){  
    37.     int i = 0;  
    38.     char buff[200];  
    39.     ZeroMemory(buff,sizeof(buff));  
    40.     memcpy(buff,argv,200);  
    41.     while(++i){  
    42.         cout<< "Extra thread executing with argument string:"<< buff <<endl;  
    43.         Sleep(1000);  
    44.         if(i == 40) ExitThread(0);//退出自身线程   
    45.     }  
    46. }  
  • 相关阅读:
    《Python for Beginners》学习笔记(2)
    《Python for Beginners》学习笔记(6)
    《Python for Beginners》学习笔记(4)
    《C Primer Plus》阅读笔记(1)
    《Python for Beginners》学习笔记(7)暨结课总结
    《Python for Beginners》学习笔记(5)
    《Python基础教程》读书笔记(1)
    《Python for Beginners》学习笔记(3)
    让Rails版的FCKEditor支持动态设置上传目录
    FCKEditor与rails的集成
  • 原文地址:https://www.cnblogs.com/daochong/p/6909193.html
Copyright © 2011-2022 走看看