多线程编程例子

原创 2007年10月08日 14:29:00

刚刚测试通过的一个多线程例子, 做成功了,写在这里做个参考。

第一步:定义全局处理函数,该处理函数供线程调用,param是唯一的一个参数(类型LPVOID ,即可根据需要传值),全局参数一般在主文件的cpp的头部定义。

UINT TreadProc(LPVOID param);

第二步:编写该消息处理函数,这里面的param我传入的是一个进度条,以便进行显示

UINT TreadProc(LPVOID param)
{

    CProgressCtrl* pro=(CProgressCtrl*)param;
 for(int i=1;i<=100;i++){
  Sleep(1000);
  pro->SetPos(i);
  }
 return 0;
}

第三步:调用这个函数,我在按钮里调用,方法如下:

CProgressCtrl* progress_ctrl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS);
 AfxBeginThread(TreadProc, progress_ctrl, THREAD_PRIORITY_NORMAL);//前两个参数分别是函数名以及我

//传入的控件的首地址

 需要说明的是,这个TreadProc函数要在这段代码所在文件的头部声明一下,仍然是这样:UINT TreadProc(LPVOID param);

要停止该进程也很容易

首先定义一个标识:volatile int threadController;用在循环计算的时候判断是否要继续循环,即:

 for(int i=1;i<=100;i++){

while(!threadController)

break;
  Sleep(1000);
  pro->SetPos(i);
  }

在停止线程的按钮里将threadController赋值为0.

多线程编程的简单例子

// BB.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "stdio...
  • sotjimmy
  • sotjimmy
  • 2005-07-11 17:18:00
  • 754

Linux下多线程编程实例解析

提到线程,不得不让人想起进程,所以还是先写下进程与线程的区别吧! 一、进程与线程的区别 进程是程序执行的一个实例,进程有其自己独立的地址空间。一个线程可以含有多个线程,这也是为了提高系统资...
  • GQ1900
  • GQ1900
  • 2016-04-07 20:01:02
  • 2113

多线程编程实例练习

pthread_join使一个线程等待另一个线程结束。代码中如果没有pthread_join主线程会很快结束从而使整个进程结束,从而使创建的线程没有机会开始执行就结束了。加入pthread_join后...
  • viewsky11
  • viewsky11
  • 2017-01-12 21:11:30
  • 732

C#学习笔记15——C#多线程编程

一、基本概念进程:当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。线程:线程是程序中的一个执行流,每个线程都有自己的专有寄存...
  • byxdaz
  • byxdaz
  • 2011-09-01 00:00:16
  • 6638

有趣的多线程编程(1)——一个简单的例子

//HelloWordThread.cs//------------------------using System;using System.Threading;public class Test{...
  • johnsuna
  • johnsuna
  • 2006-01-27 10:50:00
  • 3891

多线程编程10个例子

留个纪念,不错的总结。十个例子清晰列举啦多线程编程的奥妙。  VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好. 一、问题的提出 编写一个耗时的单线程程序:   新建一个基于对...
  • likewenkaixin
  • likewenkaixin
  • 2012-07-11 14:50:04
  • 17132

Android中的多线程编程(一)附源码

Android中多线程编程:Handler类、Runnable类、Thread类之概念分析1.Handler类:Handler是谷歌封装的一种机制:可以用来更新UI以及消息的发送和处理。Handler...
  • u014225510
  • u014225510
  • 2015-07-25 09:21:37
  • 1653

Linux Qt下简单的多线程编程例子

  • 2015年03月11日 16:42
  • 150KB
  • 下载

深入浅出Win32多线程程序设计--之MFC的多线程

1、创建和终止线程  在MFC程序中创建一个线程,宜调用AfxBeginThread函数。该函数因参数不同而具有两种重载版本,分别对应工作者线程和用户接口(UI)线程。  工作者线程 ...
  • Mobidogs
  • Mobidogs
  • 2007-01-18 11:42:00
  • 1161
收藏助手
不良信息举报
您举报文章:多线程编程例子
举报原因:
原因补充:

(最多只允许输入30个字)