3分钟了解 java多线程

Java 多线程基础知识

1. 什么是多线程

指从软件或者硬件上实现多个线程并发执行的技术,Java中的多线程,简单来说就是,一个java程序(一个进程)并发多个线程,每个线程分开执行自己的任务,多线程可以充分利用cpu资源,节约程序运行时间

2.并行、并发

从程序的角度理解,并行,就是多程序同时运行,而并发是一个程序内的多个线程一起请求cpu资源,
由于cpu处理都快,看起来也是同时执行,实际上是还是会有等待的

3.线程的生命周期

java线程生命周期

  • 新建状态(New):创建线程对象
  • 就绪状态(Runnable):调用线程的start()方法
  • 运行状态(Running):当线程获得CPU分配时间片,线程进入运行状态
  • 阻塞状态(Blocked): 阻塞状态是线程放弃CPU使用权,主要原因有:
  1. 等待阻塞 – 通过调用线程的wait()方法,让线程等待某工作的完成。
  2. 同步阻塞 – 线程在获取synchronized同步锁失败(因为锁被其它线程所占用),它会进入同步阻塞状态。
  3. 其他阻塞 – 通过调用线程的sleep()或join()或发出了I/O请求时,线程会进入到阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入就绪状态。
  • 死亡状态(Dead):run()方法的正常退出就让线程进入到死亡状态,还有当一个异常未被捕获而终止了run()方法的执行也将进入到死亡状态!

参考连接:
https://blog.csdn.net/tongxuexie/article/details/80145663
https://blog.csdn.net/qq_30604989/article/details/80163366
https://www.cnblogs.com/happy-coder/p/6587092.html
https://www.runoob.com/java/java-multithreading.html
本文连接:
https://blog.csdn.net/Felix_CB/article/details/90639701

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值