简单的多线程练习两例
来源:互联网 发布:cad软件安装教程 编辑:程序博客网 时间:2024/06/01 13:23
例1:在主线程(main)中创建一个子线程,判断7s超时。
#include <iostream>#include <time.h> #include <windows.h>using namespace std;DWORD WINAPI timeOutTest(LPVOID lpParamter){ clock_t start, finish; double duration; start=clock(); while(1) { finish = clock(); duration = (double)(finish - start) / CLOCKS_PER_SEC; cout<<"Time duration: "<<duration<<endl; if(duration>=7.0) break; } return 0;}int main(){ HANDLE hThread = CreateThread(NULL, 0, timeOutTest, NULL, 0, NULL); CloseHandle(hThread); while(1) {} return 0;}结果:
例2:含有互斥变量的简单多线程。
main和Fun互斥访问{WaitForSingleObject.....ReleaseMutex}之间的变量。
#include <iostream>#include <windows.h>using namespace std;int x=0;HANDLE hMutex;DWORD WINAPI Fun(LPVOID lpParamter){ while(1) { WaitForSingleObject(hMutex, INFINITE); // cout<<"Fun display!"<<endl; x=x+1; cout<<"Fun x: "<<x<<endl; Sleep(1000); ReleaseMutex(hMutex); }}int main(){ HANDLE hThread = CreateThread(NULL, 0, Fun, NULL, 0, NULL); hMutex = CreateMutex(NULL, FALSE, "screen"); CloseHandle(hThread); while(1) { WaitForSingleObject(hMutex, INFINITE); // cout<<"main display!"<<endl; x=x+1; cout<<"Main x: "<<x<<endl; Sleep(2000); ReleaseMutex(hMutex); } return 0;}
相关blog:C++多线程编程简单实例
- 简单的多线程练习两例
- [转]简单的发包程序练习多线程
- 小练习 ---- 简单的多线程模拟
- 简单的 java 多线程编程练习。
- java例程练习(多线程的两种创建方式)
- 简单多线程练习
- 简单模拟Java中创建多线程的两种方法
- Java 多线程的两种简单实现方法
- 一个关于多线程的简单例子(两种实现方法)
- 一个多线程的练习
- 一个简单的练习
- MSQL的简单练习
- MYSQL的简单练习
- 简单的四则运算!【练习】
- CSS的简单练习
- CSS的简单练习
- 指针的简单练习
- 函数的简单练习
- active object
- 单链表操作大全(图解逆序)
- android 显示多选列表对话框setMultiChoiceItems
- 编程珠玑第1章的算法实现
- 初学CPP虚函数(一)
- 简单的多线程练习两例
- C++实现代理模式
- 上传图片至服务器端
- ArcGIS Server 10.1 中SOE的新特性
- 预览上传图片的javaScript代码
- android 启动时自动设置default Launcher
- gvim列操作
- android dialog —— 多选列表对话框
- Linux 文件和磁盘管理