前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day04】——JavaSE

Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day04】——JavaSE

作者头像
Maynor
发布2022-03-28 20:10:29
1960
发布2022-03-28 20:10:29
举报

创建线程有几种方式

1.通过继承Thread类实现,实现简单但不可以继承其他类,多个线程之间无法共享该线程类的实例变量。 2.实现Runnable接口,较继承Thread类,避免继承的局限性,适合资源共享。 3.使用Callable,方法中可以有返回值,并且抛出异常。 4.创建线程池实现,线程池提供了一个线程队列,队列中保存所有等待状态的线程,避免创建与销毁额外开销,提高了响应速度。

https://blog.csdn.net/longshengguoji/article/details/41126119

线程的生命周期

线程的生命周期:线程要经历新建、就绪、运行(活动)、阻塞和死亡五种不同的状态。这五种状态都可以通过Thread类中的方法进行控制。 ① 新建状态 、使用new 操作符创建一个线程后,该线程仅仅是一个空对象,这时的线程处于创建状态。 ② 就绪状态 、使用start()方法启动一个线程后,系统为该线程分配了除CPU外的所需资源,使该线程处于就绪状态。 ③ 运行状态 、系统真正执行线程的run()方法。 ④ 阻塞和唤醒线程阻塞状态 、使用sleep(),wait()方法进行操作。 ⑤ 死亡状态 、线程执行了interrupt()或stop()方法,那么它也会以异常退出的方式进入死亡状态。 https://blog.csdn.net/xiaosheng900523/article/details/82964768

Runnable 和 Callable 的区别

主要区别 Runnable 接口 run 方法无返回值;Callable 接口 call 方法有返回值,支持泛型 Runnable 接口 run 方法只能抛出运行时异常,且无法捕获处理;Callable 接口 call 方法允许抛出异常,可以获取异常信息

https://blog.csdn.net/mryang125/article/details/81878168

如何启动一个新线程、调用 start 和 run 方法的区别?

线程对象调用 run 方法不开启线程。仅是对象调用方法。 线程对象调用 start 开启线程,并让 jvm 调用 run 方法在开启的线程中执行 调用 start 方法可以启动线程,并且使得线程进入就绪状态,而 run 方法只是 thread 的一个普通方法,还是在主线程中执行。

https://blog.csdn.net/woshizisezise/article/details/79938915

wait()和 sleep()的区别?

  1. 来自不同的类 wait():来自 Object 类; sleep():来自 Thread 类; 2.关于锁的释放: wait():在等待的过程中会释放锁; sleep():在等待的过程中不会释放锁 3.使用的范围: wait():必须在同步代码块中使用; sleep():可以在任何地方使用; 4.是否需要捕获异常 wait():不需要捕获异常; sleep():需要捕获异常;

https://blog.csdn.net/xyh269/article/details/52613507

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-03-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建线程有几种方式
  • 线程的生命周期
  • Runnable 和 Callable 的区别
  • 如何启动一个新线程、调用 start 和 run 方法的区别?
  • wait()和 sleep()的区别?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档