zoukankan      html  css  js  c++  java
  • 线程的状态和常用方法

    线程的状态
    一个线程从创建,启动到终止的整个过程称为线程的生命周期,在其间的任何时刻,线程总是处于某个特定状态。这些状态如下:
    新建状态:线程对象已经创建,对应new语句。
    就绪状态:就绪状态也可叫做可执行状态,对应start()方法。
    运行状态:当处于就绪的线程被调度并获得了cpu等执行必须的资源时,便进入到该状态,即运行了run()方法。
    等待/阻碍/睡眠状态;三个状态组合为一种,其共同点是线程仍然是活的,但是当前没有条件运行。换句话说,它是可运行的,如果某个事件出现,它可能返回到可运行状态,对应以下四种情况之一。
    调用sleep()方法。
    调用wait()方法,等待一个条件变量。
    进入阻塞状态。
    如果线程中有输入和输出操作,也将进入阻塞状态。
    终止状态:终止状态是线程执行结束的状态,没有任何方法可改变它的状态。


    线程常用方法
    线程常用的方法由以下几种;
    public void start();启动线程
    public void start();执行线程
    public static void sleep(long millis)throws InterruptedExpection:
    线程的休眠。休眠时间单位是毫秒(millis)
    public static void sleep(long millis,int nanos)throws InterruptedExpection:指定的毫秒数加指定的纳秒数内让当前正在执行的线程休眠。
    public final void stop():线程的停止,但该方法具有不安全性。
    public static Thread currentThread():得到当前正在运行的线程。
    public final String getName():得到线程的名称。


    线程一些方法的使用举例:

    class MyThread extends Thread{
    private int a=0;
    public void run(){
    for(int a=0;a<10;a++){
    System.out.println(currentThread().getName()+":"a);
    try{
    Thread sleep(100);
    }
    catch(InterruptedExpection e){
    e.printStackTrace();
    }
    }
    }
    }
    class MyRunneble implements Runnable{

  • 相关阅读:
    活动安排问题
    完美字符串
    Codeforces Round #696 (Div. 2) 解题报告
    Codeforces 1459D
    Codeforces 25D
    POJ 1847
    LightOJ 1074
    POJ 3159
    POJ 1511
    POJ 1502
  • 原文地址:https://www.cnblogs.com/Angella/p/6052793.html
Copyright © 2011-2022 走看看