当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: [前言:]当前流行的Windows操作系统,它能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力。
 

 

 ·afxbeginthread函数初探    »显示摘要«
    摘要: 在进行多线程java/j2me/code/ target=_blank>程序设计的时候,我们经常用到afxbeginthread函数来启动一条线程该函数使用起来非常的简单方便,其定义如下 cwinthread* afxbeginthread( afx_threadproc pfnthreadproc,//线程函数地址 lpvoid pparam,//线程参数 int npriority = t......
 ·谈vc++中的progress控件的使用    »显示摘要«
    摘要: progress控件能让人们感受到一个应用程序执行的进度,在很多应用程序中都能用到它,但通常只支持在单任务中,我在windows98/nt中文操作系统下,在vc++6.0环境下,利用线程编制了一个非常小巧的应用程序来实现progress控件的使用。它可以支持多线程,使用起来很方便。以下是这个应用程序的源代码://progressdialog.hclass cprogressdialog : p......


Windows多线程多任务设计初步

      [前言:]当前流行的windows操作系统,它能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力.用进程与线程的观点来研究软件是当今普遍采用的方法,进程与线程的概念的出现,对提高软件的并行性有着重要的意义.现在的应用软件无一不是多线程多任务处理,单线城的软件是不可想象的.因此掌握多线程多任务设计方法对每个程序员都是必需要掌握的.本文针对多线程技术在应用中经常遇到的问题,如线程间的通信.同步等,对它们分别进行探讨.

  要讲解线程,不得不说一下进程,进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间.代码.数据与其它系统资源组成.进程在运行时创建的资源随着进程的终止而死亡.线程的基本思想很简单,它是一个独立的执行流,是进程内部的一个独立的执行单元,相当于一个子程序,它对应visual c++中的cwinthread类的对象.单独一个执行程序运行时,缺省的运行包含的一个主线程,主线程以函数地址的形式,如main或winmain函数,提供程序的启动点,当主线程终止时,进程也随之终止,但根据需要,应用程序又可以分解成许多独立执行的线程,每个线程并行的运行在同一进程中. 【程序编程相关:在消息框上的按钮上显示"Yes

  一. 理解线程 【推荐阅读:Breseham椭圆绘画算法演变出来的程

  线程被分为两种:用户界面线程与工作线程(又称为后台线程).用户界面线程通常用来处理用户的输入并响应各种事件与消息,其实,应用程序的主执行线程cwinapp对象就是一个用户界面线程,当应用程序启动时自动创建与启动,同样它的终止也意味着该程序的结束,进城终止.工作者线程用来执行程序的后台处理任务,比如计算.调度.对串口的读写操作等,它与用户界面线程的区别是它不用从cwinthread类派生来创建,对它来说最重要的是如何实现工作线程任务的运行控制函数.工作线程与用户界面线程启动时要调用同一个函数的不同版本;最后需要读者明白的是,一个进程中的所有线程共享它们父进程的变量,但同时每个线程可以拥有自己的变量. 【扩展信息:Visual C++ 编译器选项

  一个进程中的所有线程都在该进程的虚拟地址空间中,使用该进程的全局变量与系统资源.操作系统给每个线程分配不同的cpu时间片,在某一个时刻,cpu只执行一个时间片内的线程,多个时间片中的相应线程在cpu内轮流执行,由于每个时间片时间很短,所以对用户来说,仿佛各个线程在计算机中是并行处理的.操作系统是根据线程的优先级来安排cpu的时间,优先级高的线程优先运行,优先级低的线程则继续等待.

二. 线程的管理与操作

  1. 线程的启动

  创建一个用户界面线程,首先要从类cwinthread产生一个派生类,同时必须使用declare_dyncreate与implement_dyncreate来声明与实现这个cwinthread派生类.


...   下一页
    摘要: 前言: 本文只提供vc6.0的编译说明,如果想知道vc.net下的编译过程请参看原文原文: http://www.voxgratia.org/docs/openh323_windows.html作者 :craig southeren翻译 : richard原文更新日期:2004年11月16日1.介绍 这是一篇彻底讲解如何用msvc6.0建立openh323的文章。这个篇文章是上一篇文章的延续,所......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE