Java 线程状态

下面几点必须记住:

  1, 默认情况下不能保证线程的执行顺序, 哪个线程先抢夺到 CPU 的使用权, 它就优先

  2, Main 方法也是一个线程

  3, 每个程序运行至少启动两个线程, 一个是 man 方法(主线程), 一个是垃圾收集线程

  4, 处理器的核心数决定了并行执行的线程数, 一个核心对应一个线程, 当线程数量大于核心数时, 线程将进行抢占cpu使用权来执行

 线程状态

  创建(New): 使用 new 关键字创建线程对象

  就绪(Runnable): 调用了线程的 start() 方法

  运行(Running): 该线程正在执行

  阻塞(Blocked):

         同步阻塞: 获取锁失败, synchronized

    等待阻塞: wait()/join()/sleep()

    其他阻塞: IO操作等

  终止(Daed): 线程运行完毕或抛出异常或人为停止, java 提供了停止线程的方法都过时了, 需要时需要人为停止

线程流程图

 

posted @ 2018-08-23 12:18  huanggy  阅读(190)  评论(0编辑  收藏  举报