`
abs200311235
  • 浏览: 122509 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

c++多线程编程初探 

阅读更多
c++多线程编程初探 
初步实例介绍CreateThread的用法:
#include "windows.h"
#include "stdio.h"
void Scan(char* str)
{
printf("%s",str);
}
void Start()
{
    char* s="NBA YAO YEAR!\n";
HANDLE hThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Scan,s,0,NULL);
if(CloseHandle(hThread))
{
  printf("\nClose Thread Success!\n");
}
else
{
  printf("\nClose Thread Failed!");
}
}
void main()
{
int i=0;
for(;i<10;i++)
{
  Start();
}

/*参数说明:
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,//必须为NULL 
DWORD dwStackSize,                      //一般为0 ,表示堆栈与外部大小相同
LPTHREAD_START_ROUTINE lpStartAddress, //线程函数名称
LPVOID lpParameter,                   //传递给线程函数的参数,如果为多个,自定义结构体
DWORD dwCreationFlags,//0表示创建线程后立即启动线程,如果不是立即启动需要调用ResumeThread函数
LPDWORD lpThreadId); //用来标记该线程的名称
*/
}

http://www.bokee.net/dailymodule/blog_view.do?id=128539


c++ 多线程编程 CreatThread
悬赏分:5 - 解决时间:2009-3-25 16:22
如何使用CreatThread编多线程的程序?给个小例子吧?

提问者: jnncumt - 见习魔法师 二级 最佳答案#include "windows.h"
#include <iostream.h>
int num = 100; //模拟售票系统,共100张票

DWORD   WINAPI   Fun1(LPVOID   lpParameter)
{
while (num != 0)
{
  cout<<"Fun1: "<<num<<endl;
  num -= 1;
  Sleep(500);
}
return 0;
}

DWORD   WINAPI   Fun2(LPVOID   lpParameter)
{
while (num != 0)
{
  cout<<"Fun2: "<<num<<endl;
  num -= 1;
  Sleep(500);
}
return 0;
}


void main()
{
HANDLE  thread1;
HANDLE  thread2;
    thread1=CreateThread(NULL,0,Fun1,NULL,0,NULL);
    thread2=CreateThread(NULL,0,Fun2,NULL,0,NULL);

    while (num != 0)
    {
  cout<<"main: "<<num<<endl;
  num -= 1;
  Sleep(1000);
    }
Sleep(3000); //3s后关闭线程
CloseHandle(thread1);
CloseHandle(thread2);
}
分享到:
评论

相关推荐

    c++多线程编程初探

    c++多线程编程初探 HANDLE thread1; HANDLE thread2; thread1=CreateThread(NULL,0,Fun1,NULL,0,NULL); thread2=CreateThread(NULL,0,Fun2,NULL,0,NULL);

    Vchome资料库--多线程技术篇(CHM)

    45 &lt;br/&gt;Visual C++ 5.0中的多线程编程技术... 50 &lt;br/&gt;关于线程... 62 &lt;br/&gt;采用多线程进行数据采集... 64 &lt;br/&gt;循环创建多线程时保证参数的有效性... 67 &lt;br/&gt;MFC中多线程的应用... 70 ...

    C++11 并发指南之多线程初探

    Linux 程序员都用过 Pthread, 但有了 C++11 的 std::thread 以后,你可以在语言层面编写多线程程序了,直接的好处就是多线程程序的可移植性得到了很大的提高,所以作为一名 C++ 程序员,熟悉 C++11 的多线程编程方式...

    传智播客扫地僧视频讲义源码

    27_C++面向对象模型初探_传智扫地僧 28_this指针 29_作业 源码及文档 01_上一次课程回顾 02_const修饰的是谁_传智扫地僧 03_this的const修饰课堂答疑 04_全局函数pk成员函数(返回元素,引用,星号this) 05_强化...

    《Android应用开发揭秘》源码

     4.2.6 多项选择(CheckBox)  4.2.7 下拉列表(Spinner)  4.2.8 自动提示(AutoComplete.TextⅥew)  4.2.9 日期和时间(DatePicker、TimePicker)  4.2.10 按钮(Button)  4.2.1l 菜单(Menu)  4.2.12 对话框(Dialog...

    Android应用开发揭秘

    4.2.6 多项选择(CheckBox) 4.2.7 下拉列表(Spinner) 4.2.8 自动提示(AutoComplete.TextⅥew) 4.2.9 日期和时间(DatePicker、TimePicker) 4.2.10 按钮(Button) 4.2.1l 菜单(Menu) 4.2.12 对话框(Dialog) 4.2.13 图片...

    《Android应用开发揭秘》附带光盘代码.

     4.2.6 多项选择(CheckBox)  4.2.7 下拉列表(Spinner)  4.2.8 自动提示(AutoComplete.TextⅥew)  4.2.9 日期和时间(DatePicker、TimePicker)  4.2.10 按钮(Button)  4.2.1l 菜单(Menu)  4.2.12 对话框(Dialog...

    Android应用开发揭秘pdf高清版

    4.2.6 多项选择(CheckBox) 4.2.7 下拉列表(Spinner) 4.2.8 自动提示(AutoComplete.TextⅥew) 4.2.9 日期和时间(DatePicker、TimePicker) 4.2.10 按钮(Button) 4.2.1l 菜单(Menu) 4.2.12 对话框(Dialog) 4.2.13 图片...

    asp.net知识库

    C++ 泛型编程系列讲座之实施 泛型技巧系列:简单类型选择器 C# 泛型简介 我眼中的C#2.0新功能特性 泛型技巧系列:避免基类及接口约束 New Article 不该用Generics实现Abstract Factory的理由 C#2.0-泛型 C#2.0-...

Global site tag (gtag.js) - Google Analytics