线程如何关闭测试
来源:互联网 发布:怎么用c语言表白 编辑:程序博客网 时间:2024/04/29 17:03
#include <stdio.h>
#include <windows.h>
#include <iostream>
#include <process.h>
using namespace std;
bool flag;
DWORD idThread1;
DWORD idThread2;
#define MY_MSG WM_USER+100
DWORD WINAPI Fun1Proc(LPVOID lpParameter)//thread data
{
//Sleep(500);
while (true)
{
cout << "亲,线程1在努力加油"<<endl;
/* bool bbreak = false;
MSG msg;
while(GetMessage(&msg,0,0,0)) //get msg from message queue
{
switch(msg.message)
{
case MY_MSG:
bbreak = true;
cout << "亲,线程1断开了吗?"<<endl;
break;
default:
break;
}
}
if (bbreak)
break;*/
Sleep(1);
}
return 0;
}
DWORD WINAPI Fun2Proc(LPVOID lpParameter)//thread data
{
while (true)
{
cout << "亲,线程2在努力加油"<<endl;
bool bbreak = false;
MSG msg;
//if(GetMessage(&msg,NULL,0,0)) //get msg from message queue
if (PeekMessage(&msg, NULL, NULL,NULL,PM_REMOVE))
{
switch(msg.message)
{
case MY_MSG:
bbreak = true;
cout << "亲,线程2断开了吗?"<<endl;
break;
default:
//cout << "亲,线程2跳出循环了吗?"<<endl;
break;
}
}
//cout << "亲,线程2吗?"<<endl;
if (bbreak)
break;
Sleep(1);
}
return 0;
}
int main()
{
HANDLE hThread2;
hThread2=CreateThread(NULL,0,Fun2Proc,NULL,0,&idThread2);
HANDLE hThread1;
hThread1=CreateThread(NULL,0,Fun1Proc,NULL,0,&idThread1);
Sleep(50);
CloseHandle(hThread1);
CloseHandle(hThread2);
cout << "关闭句柄"<<endl;
Sleep(50);
cout << "***************************************"<<endl;
//Sleep(500);
//PostMessage(idThread1, );
PostThreadMessage(idThread2,MY_MSG,NULL,NULL);
cout << "post线程消息"<<endl;
Sleep(50);
cout << "///////////////////////////////////////"<<endl;
return 0;
}
- 线程如何关闭测试
- 如何关闭java线程
- 关闭应用程序时如何关闭子线程
- 关闭应用程序时如何关闭子线程
- 关闭主程序时如何关闭子线程
- Android 中如何关闭线程
- java如何关闭一个线程
- 如何关闭一个swingworker线程?
- Android 中如何关闭线程
- Android 中如何关闭线程 .
- Android 中如何关闭线程
- Android 中如何关闭线程 .
- Android 中如何关闭线程
- 如何关闭窗体、线程、应用程序?
- 如何关闭TestFlight beta测试
- Run线程(阻塞线程) 如何关闭
- 如何正确的关闭 MFC 线程
- 如何正确的关闭 MFC 线程
- Android TextWatcher监控EditText中的输入内容并限制其输入字符个数
- Linux 文件映射mmap,Bus Error
- Zend API:深入 PHP 内核(十四) 返回函数值
- linux下java开启80端口无效分析和解决方案
- SQLiteOpenHelper 创建,更新,打开
- 线程如何关闭测试
- 安卓自测试题——第七期
- 正式生产库,配置双节点的RAC + 单实例的 DATAGUARD
- 利用Log4Net将日志插入至oracle数据库!
- linux shell 自定义函数(定义、返回值、变量作用域)介绍
- Entity Framework 简单查询
- 安卓自测试题——第八期
- 手机的imei号的获取
- LESS详解之混合(Mixins)高级