WEB开发网
开发学院WEB开发Jsp 什么是线程? 阅读

什么是线程?

 2008-01-05 09:12:33 来源:WEB开发网   
核心提示:作者:Al Saganich 什么是线程?究竟什么是线程呢?正如在图A中所示,一个线程是给定的指令的序列 (你所编写的代码),什么是线程?,一个栈(在给定的方法中定义的变量),以及一些共享数据(类一级的变量),来设置线程的优先级大小, 前面我们已经讲述了线程的基本知识,线程也可以从全局类中访问静态数据,栈以及可能的一些

  作者:Al Saganich

什么是线程?

究竟什么是线程呢?正如在图A中所示,一个线程是给定的指令的序列 (你所编写的代码),一个栈(在给定的方法中定义的变量),以及一些共享数据(类一级的变量)。线程也可以从全局类中访问静态数据。


栈以及可能的一些共享数据



每个线程有其自己的堆栈和程序计数器(PC)。你可以把程序计数器(PC)设想为用于跟踪线程正在执行的指令,而堆栈用于跟踪线程的上下文,上下文是当线程执行到某处时,当前的局部变量的值。虽然你可以编写出在线程之间传送数据的子程序,在正常情况下,一个线程不能访问另外一个线程的栈变量。

一个线程必须处于如下四种可能的状态之一,这四种状态为:

初始态:一个线程调用了new方法之后,并在调用start方法之前的所处状态。在初始态中,可以调用start和stop方法。
Runnable:一旦线程调用了start 方法,线程就转到Runnable 状态,注重,假如线程处于Runnable状态,它也有可能不在运行,这是因为还有优先级和调度问题。 阻塞/ NonRunnable:线程处于阻塞/NonRunnable状态,这是由两种可能性造成的:要么是因挂起而暂停的,要么是由于某些原因而阻塞的,例如包括等待IO请求的完成。 退出:线程转到退出状态,这有两种可能性,要么是run方法执行结束,要么是调用了stop方法。
最后一个概念就是线程的优先级,线程可以设定优先级,高优先级的线程可以安排在低优先级线程之前完成。一个应用程序可以通过使用线程中的方法setPRiority(int),来设置线程的优先级大小。
前面我们已经讲述了线程的基本知识,现在我们可以来看看java为我们提供的用来开发基于线程的应用程序的两种机制:线程类和Runnable 接口。

Tags:什么 线程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接