并发场景

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并发场景相关的知识,希望对你有一定的参考价值。

原因:请求数多时对共享资源的并发访问,产生竞争。

例如:

  • 操作系统,进程和线程对CPU资源的竞争获取
  • 生产者-消费者问题,比如队列
  • 读者-作者问题
  • 哲学家进餐问题
  • 客服分配问题,限制每个客服最多服务多少个用户,多余的用户只能排队
  • 线程池,比如Web容器的线程池
  • 秒杀,抢票,比如:购物,秒杀,买火车票,飞机票,电影票等,其中商品和票本身都是竞争的资源。

 

解决并发的工具:

  • 操作系统,信号量PV操作实现进程之间的互斥和同步。

Java语言

  • synchronized关键字
  • concurrent包工具类,比如:ConcurrentHashMap,ArrayBlockingQueue, Lock,信号量

死锁问题

  • 概念:一个进程集合中,每个进程都在等待其他进程占用的资源
  • 死锁预防:死锁的必要条件:互斥、请求和保持、不剥夺、环路等待。
  • 死锁避免,将系统状态区分为安全状态和不安全状态,为一组进程排序并能最大限度合理的分配资源成为安全状态。
  • 死锁检测和解除:进程-资源分配图检测,剥夺死锁进程资源或者撤销死锁进程。

以上是关于并发场景的主要内容,如果未能解决你的问题,请参考以下文章

华为技术架构师分享:高并发场景下缓存处理的一些思路

高并发场景下锁

高并发场景之RabbitMQ

性能测试之场景设计

大厂面试01期高并发场景下,如何保证缓存与数据库一致性?

大厂面试01期高并发场景下,如何保证缓存与数据库一致性?