首先必须包含头文件windows.h
下面是一个简单的例子:在主函数中开启新的子线程执行函数f()。

#include <windows.h>
#include <iostream>
using namespace std;

void WINAPI f1(LPVOID pvThread)
{
    while (true)
    {
        printf("inside thread 1/n");
        Sleep(1000);
    }
}

void WINAPI f2(LPVOID pvThread)
{
    while (true)
    {
        printf("inside thread 2/n");
        Sleep(2000);
    }
}

int main()
{
    HANDLE hThread1 = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)f1,NULL,0,NULL);
    HANDLE hThread2 = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)f2,NULL,0,NULL);
   
    if(hThread1 != NULL)
    {
        WaitForSingleObject(hThread1, INFINITE);
        CloseHandle(hThread1);
    }
    if(hThread2 != NULL)
    {
        WaitForSingleObject(hThread2, INFINITE);
        CloseHandle(hThread2);
    }
    return 0;
}

其中
if(hThread != NULL)
{
   WaitForSingleObject(hThread, INFINITE);
   CloseHandle(hThread);
}
这一段很重要,这段让主线程保持住。如果没有这段的话,执行完上一句,主线程不等子线程执行就退出,从而子线程也跟着退出了,就达不到效果。

参考整理于此处:http://topic.csdn.net/t/20020811/00/931486.html#

用Windows API实现多线程--原理例子相关推荐

  1. C语言中pthread或Windows API在多线程编程中的基本应用

    文章目录 多线程概述 掌握多线程需要学习什么? 使用pthread.h实现多线程 使用Windows API实现多线程 使用threads.h实现多线程 参考资料 警告 由于我懒得写完,而且懂的也不是 ...

  2. c运行库、c标准库、windows API的区别和联系

    c运行库.c标准库.windows API的区别和联系 C运行时库函数 C运行时库函数是指C语言本身支持的一些基本函数,通常是汇编直接实现的.    API函数 API函数是操作系统为方便用户设计应用 ...

  3. C++ WINDOWS API 第2章 Windows API概要

    目录 2.1       Windows数据类型.. 1 2.1.1       Windows数据类型示例.. 1 2.1.2       Windows 数据类型与标准C 数据类型的关系.. 5 ...

  4. c语言windows api编程,windows API编程学习

    我并不是计算机专业的学生,从事的工作也和编程没啥关系,并且是工作了五六年后开始在业余时间学习windows编程的,这种背景下开始学编程确实比较痛苦. 买了Charles Petzold 的<wi ...

  5. 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程

    标 题: [原创]使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程. 作 者: shayi 时 间: 2015-02-12,05:19:54 链 ...

  6. 案例一: 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程。 首先用文本编辑器写一个C++源程序名为StackFrame.cpp ,代码如下:

    案例一: 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程. 首先用文本编辑器写一个C++源程序名为StackFrame.cpp ,代码如下: 1 ...

  7. VC API常用函数简单例子大全(1-89)

    第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄 函数的定义:HWND WINAPI FindWindow(LPCSTR lpClassName ,LPCST ...

  8. Windows操作系统深入解析原理

    Windows运用程序编写插口(API)是对于Windows电脑操作系统大家族的客户方式系统软件程序编写插口.在32位版本号的Windows营销推广之前,31位版本号Windows电脑操作系统的程序编 ...

  9. 纯Windows API打造西门子移动网程控交换机人机终端(曾经最有成就感的作品)

    今天,翻了一下曾经写过的代码,曾经,因为工作需要,潜心研究了西门子移动网交换机人机互动编程,出了很多个OMTV操作终端版本,有delphi版的,有C++Builder版的,最有成就感的还是用VC++6 ...

最新文章

  1. 制作安全网站的checklist
  2. linux-DNS(bind)-setting
  3. Linux epoll
  4. 鹅厂最新数字人,体温36.5℃
  5. 每日一皮:无良商家,难怪头发越来越少了!
  6. 58同城买二手电脑的感想
  7. 团体程序设计天梯赛-练习集L1-011 A-B (20分)getline输入
  8. php yii 海报,php – 找不到Yii2主题集成图像
  9. html ie动画效果,css3强大的动画效果animate使用说明及浏览器兼容介绍
  10. SWT学生成绩管理系统
  11. SQL结构化查询语言基础知识 转
  12. MAPREDUCER学习笔记
  13. git分支创建分支删除分支合并
  14. Knockout自定义绑定my97datepicker
  15. 修改计算机系统参数软件,机器码修改专家(修改电脑机器码工具) v2.0官方版
  16. 诺兰模型与信息化建设阶段分析
  17. LCN(使用springCloud)分布式事物原理
  18. ckfinder php,php,ckfinder_ckfinder mac下报错 linux正常,php,ckfinder - phpStudy
  19. 数数字(Digit Counting)
  20. es 索引操作(创建、查看、删除)

热门文章

  1. 从李小龙的一句话看程序员是否应该多学几种编程语言
  2. BZOJ1083: [SCOI2005]繁忙的都市
  3. 在.net中如何禁用或启用DropDownList的Items
  4. Struts2文件上传
  5. 100条Vista命令行技巧Tips,您知道几条?
  6. Spring Boot 集成 Swagger 生成 RESTful API 文档
  7. 《学习之道》第十章总结
  8. day5 python学习
  9. Entityframework Code First 系列之项目搭建
  10. centos文本查看及处理相关的常用命令