专栏首页黑泽君的专栏多线程常见的面试题

多线程常见的面试题

多线程常见的面试题如下:

=============================================================================
1:多线程有几种实现方案,分别是哪几种?
    两种。
    
    继承Thread类
    实现Runnable接口
    
    扩展一种:实现Callable接口。这个需要和线程池结合。
-----------------------------------------------------------------------------
2:同步有几种方式,分别是什么?
    两种。
    
    同步代码块
    同步方法(静态同步方法)
-----------------------------------------------------------------------------
3:启动一个线程是run()还是start()?它们的区别?
    start();
    
    run():封装了被线程执行的代码,直接调用仅仅是普通方法的调用。
    start():启动线程,并由JVM自动调用run()方法。
-----------------------------------------------------------------------------
4:sleep()和wait()方法的区别?
    sleep():必须指定时间,不释放锁。
    wait():可以不指定时间,也可以指定时间,并立即释放锁。
-----------------------------------------------------------------------------
5:为什么wait()、notify()、notifyAll()等方法都定义在Object类中?
    因为这些方法的调用是依赖于锁对象的,而同步代码块的锁对象是任意对象。
    而Object代码任意的对象,所以,它们定义在这里面。
-----------------------------------------------------------------------------
6:线程的生命周期。
    新建-->就绪-->运行-->死亡
    新建-->就绪-->运行-->阻塞-->就绪-->运行-->死亡
    建议:画图解释。


=============================================================================

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 大数据技术之_17_Storm学习_Storm 概述+Storm 基础知识+Storm 集群搭建+Storm 常用 API+Storm 分组策略和并发度

      离线计算:批量获取数据、批量传输数据、周期性批量计算数据、数据展示。   代表技术:Sqoop 批量导入数据、HDFS 批量存储数据、MapReduce 批...

    黑泽君
  • day25_day27_Struts2_学习回顾

            表现层、MVC模式。 2、Struts1和Struts2的一个显著区别是什么?     答:

    黑泽君
  • Java培训实战教程之Java基础知识精华部分(一)(二)(三)

    黑泽君
  • 分享一个自用的批处理bat脚本

    Youngxj
  • 将JSON对象格式化输出(breakdown篇)

    上篇提到的prettyjson工具,经我改写之后,可以JavaScript对象格式输出缩进排版的JSON格式。如下所示:

    用户3579639
  • c/c++ -nan(ind) NAN

    nan -- 表示 出错,“不是一个数” not a number 的缩写。 按 IEEE 754 国际标准,当运算中出现无效数据时,给出 NaN. 许多情况会...

    acoolgiser
  • python高级特性-filter

    和map()不同:filter()把传入的函数依次依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

    yaohong
  • Write a Tiny Shell-based Test Framework

    HaHack
  • Struts2文件上传

    =======================上传(过滤大小及类型)下载文件(弹出框以流的方式下载)=======================

    HUC思梦
  • 浅谈Nginx负载均衡与F5的区别

    笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道“墙”,将请求分发到web服务器后,web服务器上的Ng...

    java架构师

扫码关注云+社区

领取腾讯云代金券