箱体厂家
免费服务热线

Free service

hotline

010-00000000
箱体厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

C多线程编程入门之经典实例-(XINWEN)

发布时间:2021-10-10 08:04:19 阅读: 来源:箱体厂家

多线程在编程中有相当重要的地位,我们在实际开发时或者找工作面试时总能遇到多线程的问题,对多线程的理解程度从一个侧面反映了程序员的编程水平。 其实C++语言

多线程在编程中有相当重要的地位,我们在实际开发时或者找工作面试时总能遇到多线程的问题,对多线程的理解程度从一个侧面反映了程序员的编程水平。

其实C++语言本身并没有提供多线程机制,但Windows系统为我们提供了相关API,我们可以使用它们来进行多线程编程。本文就以实例的形式讲解多线程编程的知识。

创建线程的API函数

C++代码

HANDLECreateThread(

__inSEC_ATTRS

SecurityAttributes,

__inULONG

StackSize, //initialstacksize

__inSEC_THREAD_START

StartFunction, //threadfunction

__inPVOID

ThreadParameter,//threadargument

__inULONG

CreationFlags, //creationoption

__outPULONG

ThreadId //threadidentifier

);

在这里我们只用到了第三个和第四个参数,第三个参数传递了一个函数的地址,也是我们要指定的新的线程,第四个参数是传给新线程的参数指针。

多线程编程实例1:

C++代码

#include<iostream>

#include<windows.h>

usingnamespacestd;

DWORDWINAPIFun(LPVOIDlpParamter)

{

while(1){cout<<"Fundisplay!"<<endl;}

}

intmain()

{

HANDLEhThread=CreateThread(NULL,0,Fun,NULL,0,NULL);

CloseHandle(hThread);

while(1){cout<<"maindisplay!"<<endl;}

return0;

}

我们可以看到主线程(main函数)和我们自己的线程(Fun函数)是随机地交替执行的,但是两个线程输出太快,使我们很难看清楚,我们可以使用函数Sleep来暂停线程的执行。

C++代码

VOIDWINAPISleep(

__inDWORDdwMilliseconds

);

dwMilliseconds表示千分之一秒,所以 Sleep(1000); 表示暂停1秒。

多线程编程实例2:

C++代码

#include<iostream>

#include<windows.h>

usingnamespacestd;

DWORDWINAPIFun(LPVOIDlpParamter)

{

while(1){cout<<"Fundisplay!"<<endl;Sleep(1000);}

}

intmain()

{

HANDLEhThread=CreateThread(NULL,0,Fun,NULL,0,NULL);

CloseHandle(hThread);

包头125风力发电大弯头外界环境要求

广西二手华为逆变器回收求购华为二手逆变器

电线杆栽植需要大直径大深度打坑机

三九穴位贴微商三伏贴厂家三伏贴OEM代加工

沈阳防火卷帘门安装规范金属断桥防火窗点击了解更多优惠

兴海工程洗车台森牧环保

要闻鹤壁MPP电力管100口径几个等级

茂名市茂南区写标书公司标书价格

V形管厂家汕头活动板房P形管一支起卖

东风锐铃扫路车出售