随手记:巧妙设计,并发场景下突破常规synchronize,提高读写效率

1、Peterson 算法(Dekker算法的演化),这个算法设计得很巧妙,理解的核心就是搞清楚三个标志位是怎样控制两个方法对临界区的访问的:

volatile int flag1 = 0; //主观因素:flag1表示方法1自身是否要求进入临界区 
volatile int flag2 = 0; //主观因素:flag2表示方法2自身是否要求进入临界区 
volatile int turn = 1; //客观因素:turn取1和2分别表示当前临界区针对方法1还是方法2开放

void fun1(){ 
  flag1 = 1; 
  turn = 2; 
  while( flag2==1 && turn==2 ){} //只有在方法2自身要求进入临界区且临界区针对方法2开放时,方法1才会阻塞 
  //Critical Section 
  ... //临界区内 
  flag1 = 0; 
} 

void fun2(){ 
  flag2 = 1; 
  turn = 1; 
  while( flag1==1 && turn==1 ){} //只有在方法1自身要求进入临界区且临界区针对方法1开放时,方法1才会阻塞 
  //Critical Section 
  ... //临界区内 
  flag2 = 0; 
}

 

 

 

2、ConcurrentHashMap,设计巧妙,用桶粒度的锁,避免了put和get中对整个map的锁定,尤其在get中,只对一个HashEntry做锁定操作,性能提升是显而易见的。


细节参见 http://www.iteye.com/topic/344876 ,有详细的讨论。

Mark: https://www.ibm.com/developerworks/java/library/j-jtp08223/ ,这里有关于Java内存模型结合ConcurrentHashMap的分析。

 

3、主题泛化:无锁(Lock-Free)并发编程

在Lock-Free世界里,最简单也最普遍的一个通用原语是CAS(Compare and Swap)操作。支持并发的现代的处理器都提供了这个原语的硬件实现。CAS原语负责比较某个内存地址处的内容与一个期望值,如果比较成功则将该内存地址处的内容替换为一个新值。这整个操作是原子的。

这里有对无锁并发编程的介绍:http://www.cnblogs.com/lucifer1982/archive/2008/04/16/1154727.html

Java并发框架汇总:http://www.groovyq.net/content/java%E5%B9%B6%E5%8F%91%E6%A1%86%E6%9E%B6%E5%9B%9E%E9%A1%BE

 

最后,这里有一个专题页:

https://www.ibm.com/developerworks/cn/java/j-concurrent/

 

PS:HashMap不是线程安全的,错误的使用并发状况下可能出现CPU100%的状况,在性能问题定位中遇到了,记录:

/** 
* Transfers all entries from current table to newTable. 
*/ 
void transfer(Entry[] newTable) { 
    Entry[] src = table; 
    int newCapacity = newTable.length; 
    for (int j = 0; j < src.length; j++) { 
        Entry e = src[j]; 
        if (e != null) { 
            src[j] = null; 
            do { 
                Entry next = e.next; 
                int i = indexFor(e.hash, newCapacity); 
                e.next = newTable[i]; 
                newTable[i] = e; 
                e = next; 
            } while (e != null); 
        } 
    } 
}


 

问题最终就出现在HashMap中transfer方法的这个while循环上,这个方法在HashMap扩容时调用,详细分析见:

http://blog.sina.com.cn/s/blog_56146a210100owft.html

川崎K-ROSET工业机器人仿真软件从零搭建工作站完整教程 工业机器人离线编程与仿真技术是系统集成设计的核心环节,通过运动学算法和控制器逻辑模拟,在虚拟环境中验证轨迹可达性、碰撞干涉与节拍逻辑,从而降低真机试错成本、缩短项目周期。该技术广泛应用于焊接、搬运、涂胶等工艺场景,尤其适合川崎机器人用户进行方案验证与毕设开发。川崎K-ROSET作为官方仿真工具,凭借模型库精准、AS语言完整支持及离线程序可下发等优势,成为工业机器人工程师必备技能。 阅读详情

相关推荐

PRO5000 72G显卡:大模型单卡推理的容量瓶颈突破与部署实践

在大模型推理部署领域,显存容量是制约模型规模、推理精度和吞吐量的核心瓶颈。其原理在于,模型权重和自回归生成过程中的KV Cache需要驻留在GPU高速内存中,显存不足将迫使开发者采用激进的量化技术,从而在模型能力与部署可行性之间做出妥协。PRO5000 72G显卡通过创新的硬件方案(如CXL内存池化),将单卡显存容量大幅提升至72GB,其技术价值在于从根本上后移了容量瓶颈,使得在单卡内以更高精度(如8-bit量化)部署70B+参数模型、处理超长上下文序列或运行更大批次成为可能。这为高精度对话、长文档分析、代

weixin_34417200的博客 395

配置开发支持高并发TCP连接的Linux应用程序全攻略

1、修改用户进程可打开文件数限制   在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制:   [speng@as4 ~]$ ulimi

zys85的专栏 1207

MoE模型稀疏激活真相:参数量、专家选择与计算效率深度解析

混合专家(MoE)是大语言模型实现高效推理的关键架构,其核心在于稀疏激活机制——并非参数开关,而是动态路由下的条件计算路径选择。原理上,Router网络依据输入token实时决策Top-k专家,所有专家权重常驻显存,仅被选中的专家参与前向计算,从而显著降低FLOPs与共享内存压力。该机制带来高计算密度与资源弹性调度价值,广泛应用于GPT-4、Mixtral、DeepSeek-V2等千亿级模型的推理优化与成本控制。然而,‘1.8万亿参数’‘2%每token’等流行说法存在概念混淆,实际反映的是专家数量占比与计

weixin_30781107的博客 296

缓存在高并发场景下的常见问题

缓存一致性问题 当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象。这就比较依赖缓存的过期和更新策略。一般会在数据发生更改的时,主动更新缓存中的数据或者移除对应的缓存。 缓存并发问题 缓存过期后将尝试从后端数据库获取数据,这是一个看似合理的流程。但是,在高并发场景下,有可能多个请求并发的去从数据库获取数据,对...

weixin_30808575的博客 1216

2025目标检测技术:多模态融合与边缘计算优化

目标检测作为计算机视觉的核心技术,通过深度学习实现了从手工特征到端到端学习的跨越。其核心原理是利用卷积神经网络提取多尺度特征,结合区域建议和分类回归实现精准定位。随着Transformer架构的引入,基于注意力机制的检测模型展现出更强的全局建模能力。在工程实践中,多模态融合技术(如CLIP模型)通过结合视觉与语言信息显著提升了开放世界的检测性能,而稀疏注意力机制则有效降低了计算复杂度。边缘计算场景下,模型量化与TensorRT优化可将推理速度提升4-5倍,使高性能检测模型得以在资源受限设备部署。这些技术进步

weixin_30591551的博客 409

国产GPU Day 0适配大模型自进化实战:曦云C30+MiniMax M2.7全栈调优

大模型推理与在线微调对硬件的访存可控性、混合精度支持和片上缓存管理提出全新要求。国产GPU的核心价值正从算力对标转向可编程性与生态可控性——通过暴露Tensor Core微指令、L2 Cache分区寄存器及NoC路由配置等底层能力,实现FP8/INT4混合精度计算、SRAM级权重热替换与动态稀疏注意力优化。这种深度硬件协同能力,使单卡部署具备‘自进化’闭环成为可能,显著降低多模态大模型在金融风控等低延迟场景的落地门槛。本文基于沐曦曦云C30与MiniMax M2.7的真实适配过程,解析Day 0级驱动打通、

432

大语言模型部署:如何提升GPU利用率与推理效率

GPU利用率是深度学习模型部署中的关键性能指标,直接影响推理速度和硬件资源使用效率。其核心原理在于平衡计算单元与显存带宽的协同工作,通过优化任务调度和内存管理来减少空闲时钟周期。在自然语言处理领域,随着大语言模型参数量增长到数十亿级别,显存带宽瓶颈和计算任务调度效率成为主要挑战。vLLM框架通过创新的PagedAttention技术和连续批处理系统,将KV缓存分解为块级存储并实现动态请求插槽,显著提升了GPU利用率。测试数据显示,相比传统框架,vLLM在7B模型上可实现85%以上的GPU利用率,吞吐量提升3

weixin_34216107的博客 400

LabVIEW面向对象编程:操作者框架入门实战

本文是LabVIEW面向对象编程中操作者框架的入门实战指南。针对传统“面条式代码”在复杂项目中的维护难题,文章通过创建操作者、定义消息与处理函数、在主VI中调用等步骤,详细演示了如何利用操作者框架构建模块化、易扩展的应用程序架构,有效管理并行任务。

f0g1h2的博客 589

突破Transformer瓶颈:O(1)内存与6KB状态的LLM架构解析

在深度学习领域,Transformer架构及其核心的自注意力机制已成为大语言模型(LLM)的基石,但其在处理长序列时面临O(N²)内存与计算复杂度的根本性挑战。这一瓶颈催生了线性注意力、状态空间模型(SSM)等高效替代方案,它们通过递归计算和固定状态设计,将内存占用降至常数级,实现了从算法原理到工程实践的跨越。这类技术的核心价值在于为资源受限环境(如移动设备、边缘计算)提供了可行的LLM部署方案,并显著提升了模型处理长文本、流式数据的能力。本文聚焦于如何构建一个内存占用仅为6KB的极简LLM框架,深入探讨了

weixin_34356555的博客 671

ESP32-C3微型9轴感知模块的硬件工程实践

在嵌入式系统小型化趋势下,低功耗微控制器与多传感器融合成为智能终端的基础技术路径。其核心原理在于芯片能效比、射频合规性与电源噪声抑制的协同优化,技术价值体现在降低认证门槛、提升EMC鲁棒性及保障MEMS传感器精度。典型应用场景包括可穿戴设备、微型无人机姿态控制和工业边缘传感节点。本文围绕ESP32-C3平台展开,深入解析QFN封装选型逻辑、同步降压电源设计、LSM9DS1九轴校准策略等关键环节,覆盖FCC/CE认证规避、USB-C接口EMC防护等高频工程痛点。

weixin_42607969的博客 366

CentOS7.9 安装 ImageMagick,图片转换为HEIC图像格式

由于ImageMagick7以下不支持heic等图片格式,所以重新安装了ImageMagick7.1版本支持heic格式,在网上找了很多资料,归纳总结并写此文章记录一下。在Linux(CentOS7.9)上安装ImageMagick7.1.1-38。

shmily_i的博客 1940

Go语言构建高性能机器学习服务:突破Python推理延迟瓶颈

机器学习服务在高并发、低延迟场景下面临的核心挑战,往往并非模型计算本身,而是数据解析、特征处理、序列化等系统级IO与调度开销。Python因GIL限制、动态内存管理及运行时依赖,在QPS提升后易出现隐性性能衰减;而Go语言凭借无GIL并发模型、可控内存分配和静态链接能力,天然适合作为ML系统的‘服务骨架’——它不替代PyTorch或ONNX Runtime等训练与推理引擎,而是高效承载其上下游流水线。本文基于真实生产案例,详解如何用Go重构数据接入、实时特征、后处理等关键层,实现P95延迟从78ms降至53

weixin_30265103的博客 440

python等级考试——一级知识点汇总(不包含turtle画图)

本篇文章是针对中国电子学会青少年编程等级考试的,适合初学者以及青少年编程学习者

weixin_65350557的博客 9025

Make-a-Video技术解析:文本到视频的语义驱动突破

文本到视频(Text-to-Video)是AIGC领域继图像生成后的关键演进方向,其核心挑战在于如何将自然语言语义稳定映射为具备时序一致性与物理合理性的动态画面。传统方法依赖帧级拼接,导致抖动、肢体崩坏与运镜断裂;而以Make-a-video为代表的新型架构,通过时空联合隐空间建模、运动模糊感知损失与分层语义对齐图谱,实现了从‘像素生成’到‘语义驱动’的本质跃迁。该技术显著提升AI视频在广告分镜验证、教育动态可视化及影视概念预演等场景的工程可用性,尤其在时序一致性与电影级质感方面树立新基准。本文深入剖析其扩

weixin_30682415的博客 406

SPSS实战:5步搞定多指标联合诊断的ROC曲线分析(附Logistic回归教程)

本文详细介绍了如何使用SPSS软件进行多指标联合诊断的ROC曲线分析。通过5个实战步骤,从数据准备、二元Logistic回归建模生成综合预测概率,到绘制并比较单指标与联合模型的ROC曲线,帮助临床研究者有效整合多个诊断指标,提升模型判别能力(AUC),实现诊断效能的优化。

mqtt6iot的博客 1422

微信小程序推送微信服务号模板消息

微信小程序中发送微信服务号模板消息,无需用户手动确认订阅,无需绑定开放平台,无需使用UnionId。

qq_20751269的博客 1556

告别手动调参:如何用SUMO TraCI接口为你的交通仿真实验“注入灵魂”?

本文深入探讨了如何利用SUMO TraCI接口实现交通仿真的动态交互与实时调参,告别传统手动调参的低效模式。通过TraCI的实时双向交互、微观控制粒度及自动化实验流三大突破,研究者可以精确调整交通要素,提升仿真效率。文章还提供了环境配置、状态控制API、数据采集与可视化等关键技术实践,助力构建智能交通仿真实验流水线。

weixin_30536513的博客 387

一文就够-InfiniBand 技术全面解析:从原理到实践的通俗易懂指南

想象一下,在一个超级数据中心里,成千上万台服务器需要像蜜蜂群体一样高效协作。如果用传统的网络连接,就像让每只蜜蜂都排着队传递消息,效率极低。InfiniBand(简称 IB)就是为了解决这种 "通信拥堵" 而生的高速网络技术,它专门为高性能计算(HPC)、数据中心和云计算环境设计,就像给服务器之间搭建了多条高速公路,让数据可以飞驰而过。

jundao1997的专栏 1395

国产GPU曦云C系列Day 0适配MiniMax M2.7实战指南

大模型推理引擎是支撑AI应用落地的核心基础设施,其性能与稳定性高度依赖软硬协同优化。在国产AI芯片加速替代进程中,GPU硬件架构异构性与商用大模型黑盒约束形成双重挑战——既需绕过CUDA生态依赖实现底层运行时适配,又须在无权重访问权限下完成低延迟、高一致性的本地化推理。沐曦曦云C系列GPU凭借MXRT Runtime和SRAM紧耦合设计,为闭源模型如MiniMax M2.7提供了Day 0级原生支持能力,尤其在动态KV Cache管理与毫秒级自进化反馈等关键路径上展现出独特技术价值。本文聚焦真实商业场景中的

weixin_34146805的博客 423

10万张数据集持续迭代:YOLO模型的场景专属自进化体系如何搭建?

做工业质检的朋友应该都有过这样的经历——拿着在COCO上刷榜的YOLO模型跑到产线上一测,精度直接腰斩。这不是模型不行,是场景不对口。过去一年,我深度参与了一个工业视觉项目:产线每天产生超过10万张图像,需要持续迭代检测模型。我们踩过无数坑,最终摸索出一套YOLO模型的场景专属自进化体系。今天不聊虚的,直接上干货。让模型在真实场景数据中持续学习、自动进化,而不是每次依赖人工标注从头训练。下面我从主动学习筛选、增量持续学习、架构选型、部署优化、安全防护五个维度,拆解整个搭建过程。声明。

2601_95807009的博客 106

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Qwen2开源大模型:5尺寸架构与128K长文本工程实践

大语言模型的长上下文处理能力正从‘能支持’迈向‘可落地’,其核心在于架构设计、推理优化与场景适配的协同演进。Qwen2通过动态NTK插值、分层KV缓存和语义感知截断等关键技术,突破传统Transformer在128K tokens下的位置建模与显存瓶颈;同时以0.5B至72B五档精细化尺寸,分别对应边缘计算、移动端交互、开发验证、企业推理与科研攻坚等真实部署场景。这种‘开箱即战’的工程范式,显著降低中小团队在模型选型、量化部署、API封装与安全加固中的试错成本,使长文本理解真正具备法律分析、政策解读、专利研

weixin_33698043的博客 424

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

AI Coding时代:如何重建验证与治理体系?

随着AI编程工具大规模进入研发流程,代码生成速度显著提升,但代码评审、测试与治理能力却未能同步跟上,导致返工成本与线上风险同步上升。这一现象的本质,是生成能力已超越验证与治理能力。传统的人工逐行审查模式,在AI Agent并行生成、大批量提交的背景下难以为继。因此,工程团队需要将验证前置,把静态分析、单元测试、密钥扫描、依赖审计等机器检查作为合并硬性门槛,并借助CI/CD流水线自动化执行。同时,通过任务级隔离、契约先行、最小权限与白名单机制,规范多Agent协同行为,确保生成代码可追溯、可回滚。当验证与治理

weixin_34280237的博客 467

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Gemini 3.1 Pro推理与SVG生成能力深度解析

SVG是一种结构化矢量图形语言,其本质是可编程的视觉逻辑表达;而AI推理能力正从浅层模式匹配转向深层因果建模。当大模型不仅能生成符合W3C规范的SVG代码,还能内嵌CSS变量、贝塞尔曲线参数与时间驱动动画,说明它已具备工程级设计意图理解能力。这种能力依托于对抽象规则的泛化、跨领域知识的溯源验证,以及动态权重调整的系统思维。在UI动效生成、日夜模式切换、复杂图标形变等真实前端场景中,SVG输出直接替代传统切图+手写动画流程,显著压缩设计-开发协同链路。本文聚焦Gemini 3.1 Pro在SVG生成与因果推理

cnvdkx2837的博客 482

MoE架构揭秘:参数规模、稀疏激活与工程落地实战

混合专家(MoE)是大模型突破参数瓶颈的核心范式,其本质是通过动态路由实现计算稀疏化,而非简单减少参数量。原理上,MoE将前馈网络拆分为多个独立专家子网,由router按token语义选择top-k激活,在保持模型容量的同时显著降低单次推理的计算负载。技术价值体现在显存可控性、推理吞吐提升与硬件资源利用率优化,尤其适配H100/NVLink集群等高性能AI基础设施。典型应用场景包括私有化大模型部署、低延迟API服务、RAG增强生成及边缘端轻量化推理。本文深入解析GPT-4级MoE中的稀疏激活机制与route

weixin_34268169的博客 411

AI提效的工程化实践:从代码生成到智能体与RAG工作流

人工智能技术正在重塑软件开发流程,从代码自动生成到智能补全,再到更高阶的AI Agent编排,都在改变程序员的日常节奏。其核心原理在于大模型通过海量代码学习,能够理解上下文并生成符合语法的片段,而RAG知识库则解决了私有知识注入问题,本地化部署则保障了数据安全。这些技术带来的直接价值是显著缩短执行层耗时,比如CRUD接口开发、单元测试编写、日志初筛等场景的效率提升可达数倍。然而,效率收益若只指向更多新功能开发,容易转化为质量风险和隐性技术债。合理的应用场景应涵盖AI辅助代码审查、智能体驱动的自动化流程、企业

weixin_29038303的博客 242
上一篇: 随手记:巧妙设计,并发场景下突破常规synchronize,提高读写效率
下一篇: 转:IE6终极备忘:修复IE6下 25+ Bugs
RayChase
博客等级 码龄20年 71粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值