码迷,mamicode.com
首页 > 编程语言 > 详细

java 线程

时间:2018-05-12 18:22:02      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:通过   另一个   进程和线程   循环   cpu   程序   start   队列   一个   

关于线程的一些概念:

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

线程的状态:

  • 新建状态

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

  • 就绪状态

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

  • 运行状态

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

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

      1.退回就绪状态

      2.进入阻塞状态

      3.进入死亡状态

  • 线程死锁

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

 

java 线程

标签:通过   另一个   进程和线程   循环   cpu   程序   start   队列   一个   

原文地址:https://www.cnblogs.com/luoyunyong/p/9029236.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!