java 线程

Posted 静赋清承

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 线程相关的知识,希望对你有一定的参考价值。

关于线程的一些概念:

  应用程序和进程是一对一的关系,而进程和线程是一对多的关系,也就是说一个进程包含多个线程

线程的状态:

  • 新建状态

      在java中可通过实现Runnable接口或者继承Thread类得到一个新的线程。

  • 就绪状态

      当调用start()方法时,线程处于就绪队列中,等待JVM线程调度器的调度。

  • 运行状态

      当处于就绪队列中的线程得到CPU资源后,就会执行run()方法进入运行状态。

      处于运行状态的进程,可能会发生三种情况:

      1.退回就绪状态

      2.进入阻塞状态

      3.进入死亡状态

  • 线程死锁

      例子:2个人一起吃饭但是只有一双筷子,2人轮流吃(同时拥有2只筷子才能吃)。
      某一个时候,一个拿了左筷子,一人拿了右筷子,2个人都同占用一个资源,等待另一个资源,
      这个时候甲在等待乙吃完并释放它占有的筷子,同理,乙也在等待甲吃完并释放它占有的筷子,
      这样就陷入了一 个死循环,谁也无法继续吃饭。

 




以上是关于java 线程的主要内容,如果未能解决你的问题,请参考以下文章

java 子线程 回调 主线程

Java多线程 2.线程安全

Java多线程 4.线程池

关于java线程池

Java线程安全和非线程安全

Java线程池