多线程简单示例

本文介绍了一个简单的Windows环境下线程创建与管理的例子。通过使用CreateThread函数创建了一个子线程,并展示了如何确保主线程不提前退出导致进程结束的问题。此外,还提供了让主线程休眠从而给予新线程执行机会的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、示例代码

#include<windows.h>  //访问API函数

#include<iostream.h>

#include <windows.h>
#include <iostream.h>

DWORD WINAPI Fun1Proc(LPVOID lpParameter);

void main()
{
HANDLE hThread1;
hThread1 =CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);  //第四个参数用于想线程传递参数。第五个参数为0表示创建后立即执行。第六个参数为返回值表示线程ID。
CloseHandle(hThread1);   //递减该线程内核对象的引用计数。当线程执行完毕,计数还会减,当为0时,系统释放线程内核对象。如果没有关闭,即使线程运行结束,计数也不会为0.除非进程终止.
int i=0;
while (i++<100)
{
       cout<<"main thread is running"<<endl;
}
return;
}

DWORD WINAPI Fun1Proc(LPVOID lpParameter)
{
int i=0;
while (i++<100)
{
        cout<<"#######################"<<endl;
}
return 0;

}


(1)主线程退出,进程会结束.所以不能让主线程退出.

(2)可以 sleep(),让主线程放弃执行,让新创建的线程得到执行机会。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值