多线程的作用?什么环境下需要多线程处理?
Delphi中如何实现多线成?
应注意哪些问题!

解决方案 »

  1.   

    引用名人名言 
    作者 ZyxIp(绝望中...) 你的生活是一个进程你娶了一个老婆,在你的生活中有了一个线程,基本线程。你又娶了一个小老婆,你就又创建了一个线程。你又娶了第三个老婆,现在你有三个线程。你给每个线程都分配了时间,你轮流到每个老婆家去,如果你的速度足够快,三个老婆都以为你就有一个老婆。那个老婆厉害那个的级就高,她有事的时候你就将别的老婆挂起去办她的事,线程提高优先级的方法有:将自己打扮漂亮,生儿子....。你和一个离婚了,就是你销毁了一个线程。你的资源:时间,三个老婆要共享,但她们三个是不能同时访问你的,你要注意线程的安全性,否则就有可能当机。当你OVER了,所有的一切都Free掉了。
      

  2.   

    delphi中的例子
    \Demos\Threads
      

  3.   

    呵呵,一般的DEHPHI高级一点的书都会讲得比较详细。
      

  4.   

    一.从线程类TThread派生一个类下来,如TMyThread,可以自定义构造函数
    二.重载线程类的Execute函数(必须的)
    三.执行线程所需的过程,注意线程同步
    四.消毁线程
    例:
    TMyThread=class(TThread)
    private
      procedure MyProc;
    protected 
      Execute;override;
    public 
      constructor MyCreate(参数列表);override;
    end;
    procedure TMyThread.MyProc;
    begin
      //你的线程所执行的代码
    end;constructor TMyThread.MyCreate(参数列表)]
    begin
      Inherited (False)//构造父类,开始执行线程
      //构造
    end;procedure TMyThread.Execute;
    begin
      Synchronize(MyProc)//线程同步,执行自定义的过程
    end;
      

  5.   

    线程就是当你干一件事的时候,
    想要别外的一件同时进行,
    你可以使用线程。
    在单 CPU  的机器中不是同时的,
    在多 CPU 中则是同时进行工作的。
      

  6.   

    楼上的已经讲得很清楚了,我只能up了如果说,在操作系统中引入进程的目的是为了使多个程序并发执行,以改善资源利用率及提高系统的空间开销,使OS具有更好的并发性。
    进程的两个基本属性:(1):进程是一个可拥有资源的独立的单位;
    (2):进程同时又是一个可以独立调度和分配的单位。
    在引入线程的OS中,线程是进程的一个实体,是被系统独立调度和分配的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可小的资源(如程序计数器,一组寄存器和栈),但它可与属一个进程的其他线程共亨进程所拥有的全部资源。一个线程可以创建和撤消另一个线程;同一个进程中的多个线程之间可以并发执行。由于线程之间的互相制约,致使线程在运行中也有呈现出间断性。相应地,线程也同样有就绪、阻塞、和执行三种基本状态,有的系统中还有终止状态等。
    线程和进程比较:
    (1):调度
    在引入线程的OS中。,则把线程作为调度和分配的基本单位,而把进程作为资源拥有的基本单位,使传统的两个属性分开,线程轻装上阵,从而显著地提高系统的并发程度。在同一个进程中,线程的切换不会引起进程的切换,在又一个进程中的线程切换到另一进程中的线程时,将会引起进程切换。
    (2):并发性
    在引入现成的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,也可并发执行,因而OS具有更好的并发性,从而提高系统的吞吐量和更有效的使用系统资源。
    (3):拥有资源
    进程都是拥有资源的一个独立单位,他可以拥有自己的资源。一般的线程自己不拥有系统资源,但他可以访问属于他的资源。
    (4)系统开销
    在创建和撤消进程时,系统都要为之分配回收资源,如内存空间、I/O,因而OS所付出的开销将显著地大于在创建或撤消线程的开销。
    (5)在由于同一进程中的多个线程具有相同的地址空间,致使他们之间的同步和通信的实现,也变的容易。
    -----------------------END-----------------------
    手都打痛了,明白什么是线程吧。
    可以去delphi的\Demos\Threads中看看实例。