For investors

股价:

5.36 美元 %

认识达内从这里开始

认真做教育 专心促就业

Java 线程面试题(八)
  • 发布:达内培训
  • 来源:达内培训
  • 时间:2018-09-10 17:04
    33) 有三个线程T1,T2,T3,怎么确保它们按顺序执行?-达内培训负责整理
    在多线程中有多种方法让线程按特定顺序执行,你可以用线程类的join()方法在一个线程中启动另一个线程,另外一个线程完成该线程继续执行.为了确保三个线程的顺序你应该先启动最后一个(T3调用T2,T2调用T1),这样T1就会先完成而T3最后完成.
    34) Thread类中的yield方法有什么作用?
    Yield方法可以暂停当前正在执行的线程对象,让其它有相同优先级的线程执行.它是一个静态方法而且只保证当前线程放弃CPU占用而不能保证使其它线程一定能占用CPU,执行yield()的线程有可能在进入到暂停状态后马上又被执行.
    35) Java中ConcurrentHashMap的并发度是什么?
    ConcurrentHashMap把实际map划分成若干部分来实现它的可扩展性和线程安全.这种划分是使用并发度获得的,它是ConcurrentHashMap类构造函数的一个可选参数,默认值为16,这样在多线程情况下就能避免争用.欲了解更多并发度和内部大小调整请阅读我的文章How ConcurrentHashMap works in Java.
    36) Java中Semaphore是什么?

    Java中的Semaphore是一种新的同步类,它是一个计数信号.从概念上讲,从概念上讲,信号量维护了一个许可集合.如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可.每个 release()添加一个许可,从而可能释放一个正在阻塞的获取者.但是,不使用实际的许可对象,Semaphore只对可用许可的号码进行计数,并采取相应的行动.信号量常常用于多线程的代码中,比如数据库连接池.

达内培训

    37)如果你提交任务时,线程池队列已满.会时发会生什么?
    这个问题问得很狡猾,许多程序员会认为该任务会阻塞直到线程池队列有空位.事实上如果一个任务不能被调度执行那么ThreadPoolExecutor's submit()方法将会抛出一个RejectedExecutionException异常.
    38) Java线程池中submit() 和 execute()方法有什么区别?
    两个方法都可以向线程池提交任务,execute()方法的返回类型是void,它定义在Executor接口中, 而submit()方法可以返回持有计算结果的Future对象,它定义在ExecutorService接口中,它扩展了Executor接口,其它线程池类像ThreadPoolExecutor和ScheduledThreadPoolExecutor都有这些方法.
    39) 什么是阻塞式方法?
    阻塞式方法是指程序会一直等待该方法完成期间不做其他事情,ServerSocket的accept()方法就是一直等待客户端连接.这里的阻塞是指调用结果返回之前,当前线程会被挂起,直到得到结果之后才会返回.此外,还有异步和非阻塞式方法在任务完成前就返回.
    40) Swing是线程安全的吗? 为什么?
    你可以很肯定的给出回答,Swing不是线程安全的,但是你应该解释这么回答的原因即便面试官没有问你为什么.当我们说swing不是线程安全的常常提到它的组件,这些组件不能在多线程中进行修改,所有对GUI组件的更新都要在AWT线程中完成,而Swing提供了同步和异步两种回调方法来进行更新.
    以上就是达内培训给大家做的内容详解,更多关于IT知识的学习,请继续关注达内培训
<  上一篇:Java 线程面试题(七)
下一篇:Java 线程面试题(九)  >
相关推荐
最新资讯
免费试听课程
  • 全部课程
  • IT课程
  • 设计课程
  • 运营课程
Free courses
最新开班时间
  • 北京
  • 上海
  • 广州
  • 深圳
  • 南京
  • 成都
  • 武汉
  • 西安
  • 青岛
  • 天津
  • 杭州
  • 重庆
  • 厦门
  • 哈尔滨
  • 济南
  • 福州
  • 沈阳
  • 合肥
  • 郑州
  • 长春
  • 苏州
  • 大连
  • 长沙
  • 昆明
  • 温州
  • 太原
  • 南昌
  • 无锡
  • 石家庄
  • 南宁
  • 中山
  • 兰州
  • 佛山
  • 珠海
  • 宁波
  • 贵阳
  • 保定
  • 呼和浩特
  • 东莞
  • 洛阳
  • 潍坊
  • 烟台
  • 运城
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
预约申请试听课
收起