线程

1.派生线程类 Thread 的子类,并在子类中重写 run()方法。Thread 子类的实例对象是 一个线程对象,并且该线程有专门定制的线程 run()方法,启动线程后就执行子类中 重写的 run()方法。
2.实现 Runnable 接口并重新定义 run()方法。先定义一个实现 Runnable()接口的类,在 该类中定义 run()方法,然后创建新的线程类对象,并以该对象作为 Thread 类构造 方法的 数创建一个线程。

// 文  程序 10.6 ThreadStart.java public class ThreadStart
{
public static void main(String[ ] args) {
 述  程启动  
Runnable r = new RunnableThread();
Thread rt = new Thread(r);
rt.start();
SubThread st = new SubThread("SubThread");// 建      SubThread   
// 建      RunnableThread    // 建      程   rt
//启动 程
程序 10.6 中,类 RunnableThread 实现 Runnable 接 口,并重写 run 方法;SubThread 继承 Thread,同样也 实现了 run 方法。在 main 方法中,先通过 RunnableThread 类创建,并启动线程 rt;然后通过 SubThrea  类创建, 并启动  一个线程 st。
st.start();
//启动 程
} }
class RunnableThread implements Runnable{ // 载 run   
public void run() {
System.out.println("RunnableThread 启动");
class SubThread extends Thread{ SubThread(){}
//       SubThread    的  方法 SubThread(String Name)
{
super(Name);
}
// 载 run    public void run() {
System.out.println("SubThread 启动");
//       
//       SubThread   方法
// 用  的  方法
//       
} }
} }

一个线程有 4 种 态,任何一个线程都处于这 4 种 态中的一种 态。

1.创建(new) 态:调用 new 方法产生一个线程对象后、调用 start 方法前所处的 态。线程对象虽然已经创建,但还没有调用 start 方法启动,因此无法执行。当线程 处于创建 态时,线程对象可以调用 start 方法进入启动 态,也可以调用 stop 方法
进入 态。
2.可运行(runnable) 态:当线程对象执行 start()方法后,线程就 到可运行 态。
进入此 态只是说 线程对象具有了可以运行的条件,但线程并不一定处于运行 态。因为在单处理器系统中运行多线程程序时,一个时间点只有一个线程运行,系 统通过调 机制实现 意义上的运行线程 处理器。因此一个线程是否在运行, 了线程必须处于 Runnable 态之 ,还取决于优先级和调 。
3.不可运行(non Runnable) 态:线程处于不可运行 态是由于线程被 起或者发 生 ,例如对一个线程调用 wait() 数后,它就可能进入 态;调用线程的 notify 或 notifyAll 方法后它才能 次回到可执行 态。
4.退出(done) 态:一个线程可以从任何一个 态中调用 stop 方法进入 出 态。 线程一 进入 出 态就不存在了,不能 回到其他的 态。 此之 ,如果线 程执行完 run 方法,也会自动进入 出 态。

###等待线程结束
>1.public final boolean isAlive()
2.public final void join(long millis) throws InterruptedException

###线程调度
 >1.public final void setPriority(int newPriority)
2.public final int getPriority()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。 首先讲...
    李欣阳阅读 2,492评论 1 15
  • Java多线程学习 [-] 一扩展javalangThread类 二实现javalangRunnable接口 三T...
    影驰阅读 2,986评论 1 18
  • 该文章转自:http://blog.csdn.net/evankaka/article/details/44153...
    加来依蓝阅读 7,380评论 3 87
  • 写在前面的话: 这篇博客是我从这里“转载”的,为什么转载两个字加“”呢?因为这绝不是简单的复制粘贴,我花了五六个小...
    SmartSean阅读 4,785评论 12 45
  • 下面是我自己收集整理的Java线程相关的面试题,可以用它来好好准备面试。 参考文档:-《Java核心技术 卷一》-...
    阿呆变Geek阅读 14,898评论 14 507