谁给讲讲多线程!进着有分! 多线程的作用?什么环境下需要多线程处理?Delphi中如何实现多线成?应注意哪些问题! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 引用名人名言 作者 ZyxIp(绝望中...) 你的生活是一个进程你娶了一个老婆,在你的生活中有了一个线程,基本线程。你又娶了一个小老婆,你就又创建了一个线程。你又娶了第三个老婆,现在你有三个线程。你给每个线程都分配了时间,你轮流到每个老婆家去,如果你的速度足够快,三个老婆都以为你就有一个老婆。那个老婆厉害那个的级就高,她有事的时候你就将别的老婆挂起去办她的事,线程提高优先级的方法有:将自己打扮漂亮,生儿子....。你和一个离婚了,就是你销毁了一个线程。你的资源:时间,三个老婆要共享,但她们三个是不能同时访问你的,你要注意线程的安全性,否则就有可能当机。当你OVER了,所有的一切都Free掉了。 delphi中的例子\Demos\Threads 呵呵,一般的DEHPHI高级一点的书都会讲得比较详细。 一.从线程类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; 线程就是当你干一件事的时候,想要别外的一件同时进行,你可以使用线程。在单 CPU 的机器中不是同时的,在多 CPU 中则是同时进行工作的。 楼上的已经讲得很清楚了,我只能up了如果说,在操作系统中引入进程的目的是为了使多个程序并发执行,以改善资源利用率及提高系统的空间开销,使OS具有更好的并发性。进程的两个基本属性:(1):进程是一个可拥有资源的独立的单位;(2):进程同时又是一个可以独立调度和分配的单位。在引入线程的OS中,线程是进程的一个实体,是被系统独立调度和分配的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可小的资源(如程序计数器,一组寄存器和栈),但它可与属一个进程的其他线程共亨进程所拥有的全部资源。一个线程可以创建和撤消另一个线程;同一个进程中的多个线程之间可以并发执行。由于线程之间的互相制约,致使线程在运行中也有呈现出间断性。相应地,线程也同样有就绪、阻塞、和执行三种基本状态,有的系统中还有终止状态等。线程和进程比较:(1):调度在引入线程的OS中。,则把线程作为调度和分配的基本单位,而把进程作为资源拥有的基本单位,使传统的两个属性分开,线程轻装上阵,从而显著地提高系统的并发程度。在同一个进程中,线程的切换不会引起进程的切换,在又一个进程中的线程切换到另一进程中的线程时,将会引起进程切换。(2):并发性在引入现成的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,也可并发执行,因而OS具有更好的并发性,从而提高系统的吞吐量和更有效的使用系统资源。(3):拥有资源进程都是拥有资源的一个独立单位,他可以拥有自己的资源。一般的线程自己不拥有系统资源,但他可以访问属于他的资源。(4)系统开销在创建和撤消进程时,系统都要为之分配回收资源,如内存空间、I/O,因而OS所付出的开销将显著地大于在创建或撤消线程的开销。(5)在由于同一进程中的多个线程具有相同的地址空间,致使他们之间的同步和通信的实现,也变的容易。-----------------------END-----------------------手都打痛了,明白什么是线程吧。可以去delphi的\Demos\Threads中看看实例。 高手指导:delphi编译错误 delphi中能不能用ADO连接VFP数据库? 急求VCHM制作帮助文件的操作说明(中文版) Teechart问题,为什么series2不能显示出来. 显示问题 delphi6的InstallShield Express 200分求解,如何取得一菜单项的区域以及菜单上的caption? 怎么个黑法? 问个基础问题,谁知道什么意思呢?//007pro shirong大师,只要你将我的PDM中CAD的问题解决了,多少分都可以给你呀,我可以提很多问题加分给你呀 如何在VC中引用Delphi写的DLL? 关于图片还原的问题,急!!!!!!
作者 ZyxIp(绝望中...) 你的生活是一个进程你娶了一个老婆,在你的生活中有了一个线程,基本线程。你又娶了一个小老婆,你就又创建了一个线程。你又娶了第三个老婆,现在你有三个线程。你给每个线程都分配了时间,你轮流到每个老婆家去,如果你的速度足够快,三个老婆都以为你就有一个老婆。那个老婆厉害那个的级就高,她有事的时候你就将别的老婆挂起去办她的事,线程提高优先级的方法有:将自己打扮漂亮,生儿子....。你和一个离婚了,就是你销毁了一个线程。你的资源:时间,三个老婆要共享,但她们三个是不能同时访问你的,你要注意线程的安全性,否则就有可能当机。当你OVER了,所有的一切都Free掉了。
\Demos\Threads
二.重载线程类的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;
想要别外的一件同时进行,
你可以使用线程。
在单 CPU 的机器中不是同时的,
在多 CPU 中则是同时进行工作的。
进程的两个基本属性:(1):进程是一个可拥有资源的独立的单位;
(2):进程同时又是一个可以独立调度和分配的单位。
在引入线程的OS中,线程是进程的一个实体,是被系统独立调度和分配的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可小的资源(如程序计数器,一组寄存器和栈),但它可与属一个进程的其他线程共亨进程所拥有的全部资源。一个线程可以创建和撤消另一个线程;同一个进程中的多个线程之间可以并发执行。由于线程之间的互相制约,致使线程在运行中也有呈现出间断性。相应地,线程也同样有就绪、阻塞、和执行三种基本状态,有的系统中还有终止状态等。
线程和进程比较:
(1):调度
在引入线程的OS中。,则把线程作为调度和分配的基本单位,而把进程作为资源拥有的基本单位,使传统的两个属性分开,线程轻装上阵,从而显著地提高系统的并发程度。在同一个进程中,线程的切换不会引起进程的切换,在又一个进程中的线程切换到另一进程中的线程时,将会引起进程切换。
(2):并发性
在引入现成的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,也可并发执行,因而OS具有更好的并发性,从而提高系统的吞吐量和更有效的使用系统资源。
(3):拥有资源
进程都是拥有资源的一个独立单位,他可以拥有自己的资源。一般的线程自己不拥有系统资源,但他可以访问属于他的资源。
(4)系统开销
在创建和撤消进程时,系统都要为之分配回收资源,如内存空间、I/O,因而OS所付出的开销将显著地大于在创建或撤消线程的开销。
(5)在由于同一进程中的多个线程具有相同的地址空间,致使他们之间的同步和通信的实现,也变的容易。
-----------------------END-----------------------
手都打痛了,明白什么是线程吧。
可以去delphi的\Demos\Threads中看看实例。