A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

对于线程来讲,从我们创建它一直到线程运行结束,在这个过程中,线程的状态可能是这样的:
    创建:已经有Thread实例了, 但是CPU还有为其分配资源和时间片。
    就绪:线程已经获得了运行所需的所有资源,只等CPU进行时间调度。
    运行:线程位于当前CPU时间片中,正在执行相关逻辑。
    休眠:一般是调用Thread.sleep后的状态,这时线程依然持有运行所需的各种资源,但是不会被CPU调度。
    挂起:一般是调用Thread.suspend后的状态,和休眠类似,CPU不会调度该线程,不同的是,这种状态下,线程会释放所有资源。
    死亡:线程运行结束或者调用了Thread.stop方法。
下面我们来演示如何进行线程状态切换,首先我们会用到下面方法:
    Thread()或者Thread(Runnable):构造线程。
    Thread.start:启动线程。
    Thread.sleep:将线程切换至休眠状态。
    Thread.interrupt:中断线程的执行。
    Thread.join:等待某线程结束。
    Thread.yield:剥夺线程在CPU上的执行时间片,等待下一次调度。
    Object.wait:将Object上所有线程锁定,直到notify方法才继续运行。
    Object.notify:随机唤醒Object上的1个线程。
    Object.notifyAll:唤醒Object上的所有线程。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马