首页 技术 正文
技术 2022年11月12日
0 收藏 440 点赞 2,262 浏览 1094 个字

  自学Windows多线程知识,例程如下:

 #include <iostream>
#include <windows.h>
#include <process.h>
using namespace std;
HANDLE hMutex = NULL;//互斥量
HANDLE mutex = NULL; unsigned WINAPI Fun1(PVOID lpParamter)
{
WaitForSingleObject(mutex, INFINITE);
for (int i = ; i < ; i++)
cout << "A Thread Fun 1 Display!"<<endl;
Sleep();
ReleaseMutex(mutex);
return 0L;
} void main()
{
HANDLE hThread = (HANDLE)_beginthreadex(NULL, , Fun1, NULL, , NULL);//较CreateThread更加安全
//HANDLE hThread = CreateThread(NULL, 0, Fun1, NULL, 0, NULL);
CloseHandle(hThread);
//_endthreadex((unsigned)hThread);//较CloseHandle更加安全
mutex = CreateMutex(NULL,false,"Ohye"); for (int i = ; i < ; i++){
WaitForSingleObject(mutex, INFINITE);
cout << "Main Thread Display!" << endl;
Sleep();
ReleaseMutex(mutex);
} system("pause");
}

运行结果:

Windows多线程学习随笔

_endthreadex与_beginthreadex方法相对应,
1、_endthreadex销毁了在_beginthreadex分配的堆内存(保证了没有内存泄露)。

2、其调用了系统API ExitThread退出线程。

ExitThread  VS _endthreadex
在编写C\C++程序时,要调用_endthreadex来结束线程。基于如下两个理由:

1、ExitThread函数非C++函数,线程创建的C++对象不会得到析构。

2、若线程中使用了ptd,ExitThread不会释放内存,造成内存泄露。

CreateThread VS _beginthreadex
一般的理由是,CreateThread有可能照成内存泄露。(如果使用了ptd内存,而CreateThread并不会在内部自动调用释放内存函数,但若链接的是C/C++运行库的dll版本,则其会在线程退出的DLL_THREAD_DETCH通知中释放内存)。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,494
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295