【Java】线程的生命周期

线程拥有五大声明周期:

  1. Initialization:使用new Thread()创建一个线程,线程处于初始化状态
  2. Runnable:调用线程的start方法后,线程处于可执行状态
  3. Running: 调用线程run方法,线程处于运行状态
  4. Block:调用wait/sleep/await方法后,线程进入阻塞状态
  5. Dead:线程执行完毕,进入销毁状态

wait和sleep的区别:wait是Object的方法,而sleep是Thread的方法,wait会释放锁,sleep并不会释放锁

创建线程的方法:

  1. 继承Thread类
  2. 实现Runnable接口
  3. 实现Callable接口

继承Thread类和实现Runnable的接口的区别:实现Runnable接口适用于多个线程执行同一个资源共享的任务的情况,而继承Thread类则使用于多个线程平行执行资源不共享的任务,并且实现Runnable接口还能同时实现其它接口,所以要更加灵活

实现Runnable接口和实现Callable接口的区别:Callable接口的效率更高,且有返回值

全部评论

相关推荐

目前大二,中流211,这个简历能找到实习嘛?想知道八股要背到什么程度能开始投简历呢tot能投大厂吗
牛客44176770...:兄弟,先不急着找大厂实习吧,真的😭面试问的挺深的,会表面八股根本行不通,你的项目人家都没心情问😭小厂实习可以去吧,我就是有个小厂实习才有一个且仅有一个约面机会。而且,一开始就先问算法题,然后是八股MySQLRedis这些。你平时看这些,以为自己会了,但是在面试中问你,对于MySQL你了解多少,你能在面试中有逻辑的回答出来吗?而且,你大二,人家对你的项目根本不感兴趣,只问你基础。唉今天刚结束百度一面,我这几天都重点复盘了做过的项目,结果根本不问,问就问一个lua脚本怎么写。😭真的兄弟,咱不是天才,真得一步一步来,扎实基础😔😔
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务