`
fruwei
  • 浏览: 14096 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

并发情况处理-面试

 
阅读更多
对于三种常见的并发情况的简单分析:
1.高并发低耗时
2.低并发高耗时
3.高并发高耗时

  先说高并发低耗时,由于线程运行时间很短,为了能够大量的支持并发可以使用newCachedThreadPool这种线程池。高并发的情况如果没有大量线程支撑的话,必定需要一个很大的阻塞队列来缓存任务,这样就导致任务有较长延时。当然也有人会说线程很多的话也会导致系统开销很大,的确是这样,所以这种时候就要做负载均衡将并发量拆解分散到各个节点。
  对于低并发高耗时,在http://ifeve.com/里面有个面试的回答分析的很好。高耗时是要看是CPU耗时还是IO耗时,如果是CPU耗时线程数通常解决不了太多的问题,因为cpu的负载本身都已经饱和,再添加线程对整体耗时作用不大(考虑到线程调度等因素)。如果是io耗时,由于io是会阻塞线程(类似于sleep方式使得线程进入等待状态),所以线程数可以稍微多一些,让cpu能够负载能够尽量高一些。这种情况通常使用fixedthreadpool,主要是需要设置一个合理的线程数量。
  第三种情况,应该需要用到异步处理,通过任务队列将任务缓存起来,然后异步的执行这些任务,但是还是需要增加节点来处理这些任务,不然只是解决了客户端避免由于同步调用响应慢的问题,任务的完成时间还是没得到改善。
 
分享到:
评论

相关推荐

    mysql面试题-mysql经典面试题目-数据库的基本概念-SQL语法-事务处理-索引优化-性能调优-mysql-面试题目

    30道经典java面试题 当面试Java开发职位时,以下是另外一些经典的Java面试题供参考: 什么是Java中的面向对象编程(OOP)?列举OOP的原则。 什么是Java中的重载和重写?它们之间有什么区别? 什么是Java中的...

    Java高并发编程,构建并发编程知识体系,提升面试成功率

    本课程将结合大量图示及代码演示,带你掌握多线程并发编程(线程安全,线程调度,线程封闭,同步容器等)与高并发处理思路与手段(扩容,缓存,队列,拆分等),构建完整的并发与高并发知识体系,胜任实际开发中并发...

    Java并发编程与高并发解决方案-学习笔记-www.itmuch.com.rar

    java并发编程与并发解决方案是自己多年开发和学习的笔记,有助于(ˇˍˇ) 想~进一步提高的java开发工程师或架构师深入的学习java架构并发处理。同时,它也是 在实际工作中多年高并发解决方案和经验的总结

    面试题并发处理篇.pdf

    面试题并发处理篇

    2023年最新Java高并发多线程面试题

    能学到什么:常见Java高并发多线程面试问题及在相关场景下如何处理和解决这些问题。 阅读建议:通过快速阅读全文并在过程中标记自己不熟悉的问题,定期复习来提高理解和记忆。通过反复学习和复习,达到消化吸收和...

    Linux学习笔记-面试必备

    Linux注重安全性、稳定性、高并发处理能力,但缺乏优异的可视化界面。 2、Linux发行版本:Linux在1991年开发,Linux的内核程序,后来很多软件开发组织以及软件公司在内核程序基础之上,陆续推出了很多不同版本的...

    Java并发编程与高并发解决方案

    学会高并发处理思路与手段,让跳槽面试从容不迫,并发与高并发是面试的重要考察点,常问面试问题与答案都在这里了! 无论面试还是实际开发,几乎都会涉及并发相关知识及高并发相关场景处理,如果你想系统的学习一下...

    大厂学院高阶班java并发编程面试视频资料(6.95G)

    大厂学院高阶班java并发编程面试视频资料(6.95G) 〖课程介绍〗: 大厂学院高阶班java并发编程面试视频资料(6.95G) 〖课程目录〗: 01_前言.mp4 44.96M 02_线程的start方法.mp4 68.78M 03_进程线程管程.mp4 54.58M ...

    Java-并发(Concurrent)编程

    具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。 并发编程:编写多线程代码,解决多线程带来的问题 为什么要学并发编程? 首先,来看一个案例:手写网站服务器案例。 ...

    Java面试题-并发.docx

    首先,文档解释了为什么HashMap选择红黑树作为数据结构,而不是其他结构,主要是因为红黑树在处理哈希冲突时具有更快的搜索和插入速度,以及更稳定的性能。 接着,文档讨论了负载因子的概念及其取值为0.75的原因,...

    多线程面试题及处理方案和详解

    多线程-面试者或学习使用多线程-并发编程-从synchronized到CompletableFuture

    202304-并发编程面试题(2023最新版)思维导图.zip

    - 异常处理 - 多线程编程 2. 数据库: - 熟悉SQL语言 - 了解关系型数据库和非关系型数据库 - 数据库连接池 - 数据库事务 3. Spring框架: - Spring Boot - Spring MVC - Spring Data - Spring ...

    毕业就业-刷题库Java面试题大全(2021年-2022年).rar

    a面试大全2021是一套最新Java面试必问合集,这本面试手册包含了Java基础、Java...四、并发编程面试题 1、基础知识 2、并发理论 3、并发关键字 4、Lock体系 5、并发容器 6、线程池 7、原子操作类 8、并发工具 未完待续

    Java全能学习面试手册——Java面试题库.zip

    Java全能学习面试手册——Java面试题库.zip 01 7道消息队列ActiveMQ面试题!.pdf 02 10道Java高级必备的Netty面试题!.pdf 03 10道Java面试必备的设计模式面试题...89 精选17道海量数量处理面试题!.pdf 90 看透Spring

    并发编程面试题汇总.docx并发编程是指在一个程序中同时执行多个独立的任务或操作的能力 在面试中,常常会问到与并发编程相关的问题

    并发和并行的区别:并发是指同时处理多个任务的能力,而并行是指同时执行多个任务的能力。并发通常发生在单处理器系统中,通过任务切换的方式实现多个任务之间的迅速切换。而并行则需要多个处理器或多核处理器,并且...

    互联网公司Java面试题及核心知识点

    无论你是要开发高性能的服务器端应用、分布式系统,还是要优化现有系统的并发性能,本资源都将为你提供实用的方法和技巧,帮助你解决常见的并发编程问题,提高系统的并发处理能力。 其他说明:本资源注重理论与实践...

    Java面试宝典.pdf

    这份宝典的内容涵盖了Java的基础知识,如异常处理机制,到更高级的主题,如并发编程和网络编程。它还涵盖了Java在各个领域的应用,包括企业级应用、移动应用和Web应用。 此外,这份宝典还提供了一些实战经验,例如...

    Java开发面试-MongoDB专区

    此外,面试官还可能会问到如何处理MongoDB的事务和并发访问等问题。此外,面试官可能会询问关于MongoDB的性能优化和数据模型设计方面的问题。例如,如何通过索引提高查询性能,如何使用分片技术实现数据的水平扩展,...

    Java 高并发多线程编程系列案例代码

    Java 高并发多线程编程系列案例代码 & 教程 & 面试题集锦! !! 包括但不限于线程安全性, atomic包下相关类、CAS原理、Unsafe类、synchronized关键字等的使用及注意事项,

    微服务架构面试专题系列(MySQL,JVM,并发编程,RabbitMQ消息中间件,Spring)

    300M资源,微服务架构面试专题系列(MySQL,JVM,并发编程,RabbitMQ消息中间件,Spring)。 囊括的知识点非常多 1. Java基础包括了:集合,HashMap,JVM等常见考点, 说一下 JVM 的主要组成部分及其作用? 说一下 ...

Global site tag (gtag.js) - Google Analytics