美文网首页
关于多线程的问题及答案二

关于多线程的问题及答案二

作者: 无法确定的小世界_2156 | 来源:发表于2020-04-13 14:37 被阅读0次

关于多线程的问题及答案

这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。

8、Java中如何获取到线程dump文件

死循环、死锁、阻塞、页面打开慢等问题,打线程dump是最好的解决问题的途径。所谓线程dump也就是线程堆栈,获取到线程堆栈有两步:

1)获取到线程的pid,可以通过使用jps命令,在Linux环境下还可以使用ps -ef | grep java

2)打印线程堆栈,可以通过使用jstack pid命令,在Linux环境下还可以使用kill -3 pid

另外提一点,Thread类提供了一个getStackTrace()方法也可以用于获取线程堆栈。这是一个实例方法,因此此方法是和具体线程实例绑定的,每次获取获取到的是具体某个线程当前运行的堆栈。

9、一个线程如果出现了运行时异常会怎么样

如果这个异常没有被捕获的话,这个线程就停止执行了。另外重要的一点是:如果这个线程持有某个某个对象的监视器,那么这个对象监视器会被立即释放

10、如何在两个线程之间共享数据

通过在线程之间共享对象就可以了,然后通过wait/notify/notifyAll、await/signal/signalAll进行唤起和等待,比方说阻塞队列BlockingQueue就是为线程之间共享数据而设计的

11、sleep方法和wait方法有什么区别 

这个问题常问,sleep方法和wait方法都可以用来放弃CPU一定的时间,不同点在于如果线程持有某个对象的监视器,sleep方法不会放弃这个对象的监视器,wait方法会放弃这个对象的监视器

12、生产者消费者模型的作用是什么

这个问题很理论,但是很重要:

1)通过平衡生产者的生产能力和消费者的消费能力来提升整个系统的运行效率,这是生产者消费者模型最重要的作用

2)解耦,这是生产者消费者模型附带的作用,解耦意味着生产者和消费者之间的联系少,联系越少越可以独自发展而不需要收到相互的制约

13、ThreadLocal有什么用

简单说ThreadLocal就是一种以空间换时间的做法,在每个Thread里面维护了一个以开地址法实现的ThreadLocal.ThreadLocalMap,把数据进行隔离,数据不共享,自然就没有线程安全方面的问题了

14、为什么wait()方法和notify()/notifyAll()方法要在同步块中被调用

这是JDK强制的,wait()方法和notify()/notifyAll()方法在调用前都必须先获得对象的锁

15、wait()方法和notify()/notifyAll()方法在放弃对象监视器时有什么区别

wait()方法和notify()/notifyAll()方法在放弃对象监视器的时候的区别在于:wait()方法立即释放对象监视器,notify()/notifyAll()方法则会等待线程剩余代码执行完毕才会放弃对象监视器

16、为什么要使用线程池

避免频繁地创建和销毁线程,达到线程对象的重用。另外,使用线程池还可以根据项目灵活地控制并发的数目。点击学习线程池详解。

所谓技多不压身,我们所读过的每一本书,所学过的每一门语言,在未来指不定都能给我们意想不到的回馈呢。其实做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个Java学习交流群342016322,不管你是小白还是大牛欢迎入驻,大家一起交流成长。

相关文章

  • 关于多线程的问题及答案三

    关于多线程的问题及答案三关于多线程的问题及答案三 这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能...

  • 关于多线程的问题及答案二

    关于多线程的问题及答案二 这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些...

  • 关于多线程的问题及答案四

    关于多线程的问题及答案四 这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些...

  • 关于多线程的问题及答案一

    关于多线程的问题及答案一 这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些...

  • Java多线程的问题及答案

    收集常见的问题,以后或许用得到 线程池的原理,为什么要创建线程池?创建线程池的方式?答:当向线程池提交一个任务的时...

  • 使用GCD解决实际开发常见多线程问题

    关于多线程的概念网上很多资料可供学习,下面我们主要讲解几种工作中会经常遇到的多线程问题及解决思路。 一、一句话简单...

  • 扣丁学堂Java开发之多线程面试题集合及答案汇总

    今天扣丁学堂Java培训老师给大家汇总了一下关于2018Java多线程面试题集合及答案的详细介绍,希望对同学们面试...

  • 上海结婚要多少钱

    关于上海结婚多少钱的问题,在百度搜索结果中,总计190余条答案,总结问题及答案如下: 1、上海领结婚证多少钱? 小...

  • 常见技术问题及答案(二)

    一.如何进行网站性能优化? (1)尽可能减少HTTP请求:图片合并 (css sprites),Js脚本文件合并、...

  • Java一多线程

    目录: 一、进程与线程的概念 二、多线程的概念 三、多线程所存在的问题(线程安全问题、上下文切换) 四、多线程的三...

网友评论

      本文标题:关于多线程的问题及答案二

      本文链接:https://www.haomeiwen.com/subject/ngwgmhtx.html