关于强制退出线程操作的代码
来源:互联网 发布:买了域名之后怎么弄 编辑:程序博客网 时间:2024/05/21 11:03
大家在多线程编程的时候,需要在程序退出之前,退出一些特定的后台线程。下面的代码可以完美解决此类问题。
#include <windows.h>
#include "stdio.h"
HANDLE hCheckThread, hCheckEvent;
unsigned long __stdcall HeatBeatUpdateThread(void * argList)
{
int end =0, i = 0;
end = GetTickCount();
while (WaitForSingleObject(hCheckEvent, 1000000) != WAIT_OBJECT_0)
{
printf("count:%d, duration:%d/n", i, GetTickCount() - end);
i++;
end = GetTickCount();
}
printf("exit thread");
return 0;
}
unsigned long BackgroundThreadCreate()
{
unsigned long ThreadId = 0;
// Create a manual-reset nonsignaled unnamed event
hCheckEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
hCheckThread = CreateThread(NULL, 0, HeatBeatUpdateThread, NULL, 0, &ThreadId);
return 0;
}
void main()
{
int begin, end;
BackgroundThreadCreate();
Sleep(300);
// Killed the check thread
SetEvent(hCheckEvent); // signal thread to end
begin = GetTickCount();
// Wait max. 10 seconds for the firmware thread to terminate - if not, force a terminate
if(WAIT_OBJECT_0 != WaitForSingleObject(hCheckThread,10000))
{
TerminateThread(hCheckThread,0);
}
end = GetTickCount() - begin;
CloseHandle(hCheckEvent);
CloseHandle(hCheckThread);
while (1)
{
Sleep(10000000);
}
}
- 关于强制退出线程操作的代码
- VC强制退出线程
- 操作svn 的时候 eclipse 强制退出
- 关于线程退出的问题
- iOS代码强制退出程序
- [VB.NET]关于强制控制函数退出的方法
- 关于循环线程的正常退出问题。
- 关于线程的执行和退出
- 关于线程的执行和退出
- 关于线程的停止、挂起、退出(修改)
- 【多线程-Abort()方法强制退出线程】
- 关于线程安全退出
- 关于线程安全退出
- android强制完全退出核心代码
- android 退出应用后管理程序中force stop 强制关闭为灰色的代码
- 代码中强制退出apk的两种方法区别与比较
- 关于c#中强制退出程序运行的两个方法比较
- 关于thinkphp框架的防止非法进入+frame框架强制主页面退出
- 截取字符串
- Oracle备份脚本
- Spring使用p名称空间配置属性
- flex TitleWindow之间数据传输的示例
- V4L2操作与常见结构
- 关于强制退出线程操作的代码
- 传送文件
- Linux下的Oracle 10g安装及配置
- UltraGrid 卡片模式列自适应宽度
- SQL Server 索引结构及其使用(一)
- To My Parents
- 如何查看和清除oracle无用的连接进程
- 个人语录—生活篇
- 在C#中实现系统拖盘处的气泡提示