一如既往打一生肖:线程是什么?

来源:百度文库 编辑:高校问答 时间:2024/04/28 07:34:04

线程(threads, 台湾称 执行绪),也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。

线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。线程可以创建和撤消线程,从而实现程序的并发执行。一般,线程具有就绪、阻塞和运行三种基本状态。

在多中央处理器的系统里,不同线程可以同时在不同的中央处理器上运行,甚至当它们属于同一个进程时也是如此。大多数支持多处理器的操作系统都提供编程接口来让进程可以控制自己的线程与各处理器之间的关联度(affinity)。

线程(threads),也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。

线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。线程可以创建和撤消线程,从而实现程序的并发执行。

线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程

线程数与下载和系统的关系:
一般来说,线程数多下载就越快,我们常用的网极快车,网络蚂蚁等下载工具都是多线程下载,都比用IE直接下载要快;可是相对应的,开的线程数越多,占用的系统资源越多,系统的负担越沉重,另外占用的网络带宽也大。如果网际快车500线程下载你都打开的话,估计你家的机器慢的象蜗牛了.

线程(thread)其实是控制线程(thread of control)的简写。控制线程听起来是一个复杂的技术术语,但其实是一个简单的概念。它是程
序运行时的路径。它决定将要执行什么代码:是if块还是else块? while
循环到底要运行多少次?如果我们从一个“to do”列表中取出任务来执行,
就像计算机运行一个应用程序那样,则我们的执行步骤以及执行的顺序就是
执行路径。而这个执行路径就是控制线程运行的结果。
有多个控制线程就如同从两个“to do”列表中执行任务一样。我们仍然以正
确的顺序运行每一个“to do”列表中的任务,但是当我们对其中一个列表中
的任务感到厌烦时,可以切换到另外一个列表中去运行,并且当我们在以后
返回到第一个列表中时,可以回到刚才离开的地方继续执行。在一个程序中使用多控制线程的想法看起来很新而且困难。但实际上并不是这样。
每一个程序都有至少一个线程,而一个程序中有多个线程和在操作系统中有多个
程序并没有什么不同。
一个Java 程序可以包含多个线程,对于程序员而言,创建它们并不需要什么特别
的知识。现在,你所需要知道的是当你写一个Java 程序时,就已经有一个初始的
线程从main()方法处开始执行了。当你写一个Java applet 时,就有一个线程来
调用init()、actionPerformed()等回调函数,这个线程被称为applet 的主线
程。在每一种情况下,你都可以认为你的程序是从一个单独的线程开始的。如果
你想进行I/O 处理(特别是如果I/O 会被阻塞)、使用定时器或者在初始线程中进
行并行处理,你一定要考虑使用一个新的线程来完成这些任务

线程指的是你的电脑和目标电脑或者服务器的连接数量
一般数量越大下载速度越大