几句话说清楚多线程

什么是多线程?

在回答这个问题的时候可以从以下几个方面来说清楚多线程这个概念:
1、进程与线程的关系:

  • 进程是一个单独的应用程序,每个应用程序一运行就产生了一个进程,并且会产生多个线程,进程其实就是这多个线程的集合。
  • 线程是一条执行路径,是具体的执行程序。

2、为什么要使用多线程?

  • 为了提高程序的效率

3、多线程有五种执行状态

  • 新建状态:一个线程被new之后,处于新建状态,此时该线程还没有启动

  • 就绪状态:一个线程调用了start方法之后,处于就绪状态,此时线程虽然已启动,但是还没执行run方法中的代码,需要同其他线程竞争获得cpu时间

  • 运行状态:一个线程获得cpu时间后,执行run方法,处于运行状态。

  • 阻塞状态:线程在运行状态时,出现以下情况会处于阻塞状态:

     1>线程通过调用sleep方法进入睡眠状态;
     2>线程调用一个在I/O上被阻塞的操作,即该操作在输入输出操作完成之前不会返回到它的调用者;
     3>线程试图得到一个锁,而该锁正被其他线程持有;
     4>线程在等待某个触发条件;
    
  • 死亡状态:导致线程死亡的原因:
    1>run方法正常退出而自然死亡
    2>一个未捕获的异常终止了run方法而猝死。

以上是关于多线程的重要概念,掌握这几点,就不用怕面试的时候问到线程概念的时候一个字都说不出啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值