【高并发】多线程和高并发提纲

news/2024/7/24 10:21:27 标签: 多线程和高并发

最近正在准备面试,对多线程和高并发相关问题整理了一个提纲。
个人感觉这三大部分由底向上,足够展开对并发编程中大部分问题的讨论~

三大源头

  • 线程切换带来的原子性问题
    • 原子操作:利用CPU提供的原子操作指令、编程语言对这些指令的API封装。
    • CAS算法:比较并交换,ABA问题(至少三个线程做CAS产生了错误的过程)用版本号解决。
  • CPU缓存带来的可见性问题:程序员要编写符合Happens Before(可见性规则)的代码保证可见性。
  • 编译器带来的有序性问题:这种问题通常会出现在涉及到共享数据的多线程编程中,因为编译器的优化可能会导致操作的重新排序,从而破坏了程序的预期行为,例如导致可见性问题。

两个主要问题

  • 竞态条件。强调并发执行顺序带来的结果不一致。先判断后执行竞态条件、读-操作-更新竞态条件(i++)。
  • 数据竞争。强调并发读写导致的未定义行为,可能会引起程序的崩溃。

三大解决方案:进程多线程与高并发的解决方案。

  • 同步:也就是利用原子操作或者锁。使用(悲观)锁,缺点是大量使用锁让很多逻辑都变成同步,效率可能还不如单线程。
  • 数据分片:根据数据所有者划分出数据主体(Actor),每个主体在自己对应的线程中处理/访问自己的数据。
  • 分布式架构:对逻辑进行划分,也是数据分片的一种思路,采取分布式架构,进一步提高并发量。

http://www.niftyadmin.cn/n/5073368.html

相关文章

点餐小程序实战教程06-首页开发

用户注册功能开发好了之后,我们就要开发小程序,首先我们是规划小程序的功能模块,我们一共是四个模块,分别是首页、订单、消息和我的。 首页我们主要是点餐的功能,可以选择菜品,加入到购物车,然…

Vue14 监视属性简写

监视属性简写 当监视属性只有handler时&#xff0c;可以使用简写 <!DOCTYPE html> <html><head><meta charset"UTF-8" /><title>天气案例_监视属性_简写</title><!-- 引入Vue --><script type"text/javascript&…

YOLOv8血细胞检测(5):可变形大核注意力(D-LKA Attention),超越自注意力| 2023.8月最新发表

💡💡💡本文独家改进:可变形大核注意力(D-LKA Attention),采用大卷积核来充分理解体积上下文的简化注意力机制,来灵活地扭曲采样网格,使模型能够适当地适应不同的数据模式 D-LKA Attention | 亲测在血细胞检测项目中涨点,map@0.5 从原始0.895提升至0.903 收录专…

【gcc】RtpTransportControllerSend学习笔记 3:gcc 算法

本文是大神 https://www.cnblogs.com/ishen 的文章的学习笔记。大神的webrtc源码分析(8)-拥塞控制(上)-码率预估 详尽而具体,堪称神作。本文使用的代码是m79 ,与大神有不同。ChatGPT可以做WebRTC音视频质量性能优化,惊艳到我了 指出了一些QOS学习的方向。大神给出的码率预估…

day10.8ubentu流水灯

流水灯 .text .global _start _start: 1.设置GPIOE寄存器的时钟使能 RCC_MP_AHB4ENSETR[4]->1 0x50000a28LDR R0,0X50000A28LDR R1,[R0] 从r0为起始地址的4字节数据取出放在R1ORR R1,R1,#(0x1<<4) 第4位设置为1STR R1,[R0] 写回2.设置PE10管脚为输出模式 G…

FunASR语音识别GUI界面应用

前言 本文将介绍一个基于FunASR开发的语音识别界面应用&#xff0c;这个应用可以选择本地音频&#xff0c;也可以录音识别。支持多种音频格式和视频格式&#xff0c;可以对识别的结果加上时间戳做成字幕。 安装环境 安装Pytorch&#xff0c;根据自己机器的情况可以选择安装C…

【C/C++数据结构 - 1】:数据结构与算法基础

文章目录 数据结构算法基础冒泡排序选择排序二分查找 数据结构 数据结构是随着计算机科学的发展而建立起来的围绕非数值计算问题的一门科学&#xff0c;是计算机存储、组织数据的方式&#xff0c;是指相互之间存在一种或多种特定关系的数据元素的集合。 通过精心选择的数据结…

公司软文怎么写?如何写好软文?

软文&#xff0c;即柔性广告&#xff0c;是通过文字、图片等形式&#xff0c;以一种隐性的方式&#xff0c;将广告信息融入到文章中&#xff0c;以达到宣传、推广的目的。它相较于硬广告&#xff0c;更能深入人心&#xff0c;更易被接受。 首先&#xff0c;软文能够提升品牌的…