Windows 下 C/C++ 多线程编程入门参考范例
2024-09-02 10:00:45
- #include <windows.h>
- #include <iostream>
- using namespace std;
- DWORD WINAPI myThread(LPVOID argv);//声明一个线程函数
- int main(int argc, char *argv[])
- {
- string s;
- HANDLE myHandle;
- do{
- cin.clear(); cin.sync();
- cin>> s;
- switch(s.at(0)){
- case '0':
- myHandle = CreateThread(NULL,0,myThread,(LPVOID)s.c_str(),0,NULL);//创建线程
- break;
- case '1':
- if(myHandle) SuspendThread(myHandle);//挂起线程
- break;
- case '2':
- if(myHandle) ResumeThread(myHandle);//恢复线程
- break;
- case '3':
- if(myHandle) TerminateThread(myHandle,0);//终止线程
- break;
- case '4':
- if(myHandle) SetThreadPriority(myHandle,THREAD_PRIORITY_NORMAL);//设定线程优先级
- break;
- default:
- break;
- }
- cout<< s << endl;
- }while(s!="exit" && s!= "quit");
- return 0;
- }
- DWORD WINAPI myThread(LPVOID argv){
- int i = 0;
- char buff[200];
- ZeroMemory(buff,sizeof(buff));
- memcpy(buff,argv,200);
- while(++i){
- cout<< "Extra thread executing with argument string:"<< buff <<endl;
- Sleep(1000);
- if(i == 40) ExitThread(0);//退出自身线程
- }
- }
最新文章
- IOS与Android APP界面设计规范要点
- CSS系列:CSS中盒子模型
- 使用github之前的技能准备
- 用Myeclipse,包名上有小红叉(表示错误),但是包中的类都是没有错误的+struts2继承ActionSupport时package前面出错
- centos 没有可用的网络设备
- 转: 解决MSYS2下的中文乱码问题
- [置顶] 【玩转cocos2d-x之七】场景类CCScene和布景类CCLayer
- cocos2d-x实战 C++卷 学习笔记--第5章 精灵
- 如何用PowerPoint制作闪烁的星星
- wing 5.0 注册机
- 关于给予webApp框架的开发工具
- Hexo搭建静态个人博客
- 1_3 C语言解决求n!
- Linux指令--traceroute,netstat,ss
- CentOS7上安装FTP服务
- Python利用os模块批量修改文件名
- AJAX 应用
- VUE框架的初识
- web缓存服务器varnish-4.1.6的部署及配置详解
- django的内置信号
热门文章
- 织梦dedecms做的网站首页标题篡改跳转赌博网站解决方案
- LVS 学习
- c# 使用Split分割 换行符
- Luogu2000 拯救世界
- ID生成 雪花算法
- Unity3D_(API)场景切换SceneManager
- python中super().__init__和类名.__init__的区别
- Java程序,JVM之间的关系
- Java Optional orElse() 和 orElseGet() Optional.flatMap()和Optional.map()区别
- shell编程连接postgres数据库(数据备份)