- 文件锁可以是shared(共享锁)或者exclusive(排他锁)。不是所有的平台都以同一种方式实现文件锁,不同的操作系统可能不同,同一操作系统上的不同文件系统也可能不同。有些操作系统只提供协同锁,有些只提供强制锁,有些则都提供。文件锁是以文件为单位的,不是以通道,也不是线程。所以文件锁不适合同一个多个线程访问的情形。如果一个线程获得了给定文件的排他锁,第二个线程请求打开了一个新的chann... 文件锁可以是shared(共享锁)或者exclusive(排他锁)。不是所有的平台都以同一种方式实现文件锁,不同的操作系统可能不同,同一操作系统上的不同文件系统也可能不同。有些操作系统只提供协同锁,有些只提供强制锁,有些则都提供。文件锁是以文件为单位的,不是以通道,也不是线程。所以文件锁不适合同一个多个线程访问的情形。如果一个线程获得了给定文件的排他锁,第二个线程请求打开了一个新的chann...
- FileChannel继承了ScatteringByteChannel,ByteChannel和GatheringByteChannel。在类中还引入了文件锁。下面是部分的APIpublic class FileLock implements AutoClosable{ public FileChannel channel() public long position() public... FileChannel继承了ScatteringByteChannel,ByteChannel和GatheringByteChannel。在类中还引入了文件锁。下面是部分的APIpublic class FileLock implements AutoClosable{ public FileChannel channel() public long position() public...
- 本篇介绍对象的共享之可见性和对象发布 本篇介绍对象的共享之可见性和对象发布
- 更新了很多高并发编程的技术文章,你是怎么学习的呢?后面你还会更新吗?啥时候更新完呀? 我:后面会一直持续更新的,并发编程的知识很多,也很复杂,不是几十篇文章就能够讲清楚的,所以,我后面会一直持续更新并发编程相关的文章,后面我先梳理下,整理个简单的学习路线给大家。 更新了很多高并发编程的技术文章,你是怎么学习的呢?后面你还会更新吗?啥时候更新完呀? 我:后面会一直持续更新的,并发编程的知识很多,也很复杂,不是几十篇文章就能够讲清楚的,所以,我后面会一直持续更新并发编程相关的文章,后面我先梳理下,整理个简单的学习路线给大家。
- 确实,理论上就是用户下单后,减去商品的库存就完事了。但是,如果你的系统流量很大,并发度非常高,比如淘宝的双十一,有一款爆款商品参加了活动,库存只有1000件,有几十万上百万用户抢购,商品售完1000件为止,一件不能多,一件也不能少。你还会觉得简单吗?搞不好就会出现“超卖”的情况,后果就会很严重了。 确实,理论上就是用户下单后,减去商品的库存就完事了。但是,如果你的系统流量很大,并发度非常高,比如淘宝的双十一,有一款爆款商品参加了活动,库存只有1000件,有几十万上百万用户抢购,商品售完1000件为止,一件不能多,一件也不能少。你还会觉得简单吗?搞不好就会出现“超卖”的情况,后果就会很严重了。
- 其实,源码是原理落地的最直接体现,看懂源码对于深刻理解原理有着很大的帮助。但是不少小伙伴看源码时,总觉得源码太枯燥了,看不懂。 其实,源码是原理落地的最直接体现,看懂源码对于深刻理解原理有着很大的帮助。但是不少小伙伴看源码时,总觉得源码太枯燥了,看不懂。
- 并发编程一直是程序员们比较头疼的,如何编写正确的并发程序相比其他程序来说,是一件比较困难的事情,并发编程中出现的 Bug 往往也是特别诡异的。 并发编程一直是程序员们比较头疼的,如何编写正确的并发程序相比其他程序来说,是一件比较困难的事情,并发编程中出现的 Bug 往往也是特别诡异的。
- Zabbix Server是所有配置、统计和操作数据的中央存储中心,也是 Zabbix 监控系统的告警中心,负责执行数据的主动轮询和被动获取,计算触发器条件,向用户发送通知。 Zabbix Server是所有配置、统计和操作数据的中央存储中心,也是 Zabbix 监控系统的告警中心,负责执行数据的主动轮询和被动获取,计算触发器条件,向用户发送通知。
- 继承Thread类,重写run函数;实现Runnable接口,重写run函数;实现Callable接口,重写call函数 继承Thread类,重写run函数;实现Runnable接口,重写run函数;实现Callable接口,重写call函数
- 目标:学会怎么看任务管理器2020-10-16进程该页面存在CPU,内存,硬盘,网络,GPU占用率汇总。还有电源使用,这个一般不必关心。可以初步看出一些应用占用的资源情况。右键选项“转储文件”:创建转储文件就是把进程的详细信息进行记录,这样在您的程序运行时遇到一些意外情况的话,你就可以在选择的调试器中对转储文件进行研究。格式为.DMP文件,Debugging Tools工具可以打开(需安装)... 目标:学会怎么看任务管理器2020-10-16进程该页面存在CPU,内存,硬盘,网络,GPU占用率汇总。还有电源使用,这个一般不必关心。可以初步看出一些应用占用的资源情况。右键选项“转储文件”:创建转储文件就是把进程的详细信息进行记录,这样在您的程序运行时遇到一些意外情况的话,你就可以在选择的调试器中对转储文件进行研究。格式为.DMP文件,Debugging Tools工具可以打开(需安装)...
- 使用Tuning Kit性能分析 使用Tuning Kit性能分析
- vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可实时动态监视操作系统的虚拟内存、进程、CPU活动。10.1. vmstat的语法vmstat [-V] [-n] [delay [count]]-V表示打印出版本信息;-n表示在周期性循环输出时,输出的头部信息仅显示一次;delay是两次输出之间的延迟时间;count是指按照这个时间间隔统计的次数。[... vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可实时动态监视操作系统的虚拟内存、进程、CPU活动。10.1. vmstat的语法vmstat [-V] [-n] [delay [count]]-V表示打印出版本信息;-n表示在周期性循环输出时,输出的头部信息仅显示一次;delay是两次输出之间的延迟时间;count是指按照这个时间间隔统计的次数。[...
- static void* GetSharedMem(U32 u32MemKey ,U32 u32DataSize ,U32 u32Create){ S32 s32ShmID ; //共享内存ID S32 s32SemID ; //共享内存对应信号量 void *pReturn = NULL ; //增加信号量空间 u32DataSize += sizeof(MEM_SEM); pr... static void* GetSharedMem(U32 u32MemKey ,U32 u32DataSize ,U32 u32Create){ S32 s32ShmID ; //共享内存ID S32 s32SemID ; //共享内存对应信号量 void *pReturn = NULL ; //增加信号量空间 u32DataSize += sizeof(MEM_SEM); pr...
- 产生死锁的原因:(1)竞争系统资源 (2)进程的推进顺序不当 产生死锁的必要条件:互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。请求和保持条件:当进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件:进程已获得的资源在未使用完之前,不能剥夺,只能在使用完时由自己释放。环路等待条件:在发生死锁时,必然存在一个进程--资源的环形链。解决死锁加锁顺序(... 产生死锁的原因:(1)竞争系统资源 (2)进程的推进顺序不当 产生死锁的必要条件:互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。请求和保持条件:当进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件:进程已获得的资源在未使用完之前,不能剥夺,只能在使用完时由自己释放。环路等待条件:在发生死锁时,必然存在一个进程--资源的环形链。解决死锁加锁顺序(...
- 连接池: 我们后端在写项目后端代码的时候都是需要连接数据库的,那么我没没连接一次数据库都是需要建立一次连接,建立连接是一个费时的活动,每次都得花费0.05s~1s的时间,而且系统还要分配内存资源。但是如果项目比较大,访问次数也比较多的时候会导致每次产生多次连接而且连接时间也会比较长,这时候我们就会想到为数据库连接建立一个“缓冲池”,也就是我们说的连接池,预先在缓冲池中... 连接池: 我们后端在写项目后端代码的时候都是需要连接数据库的,那么我没没连接一次数据库都是需要建立一次连接,建立连接是一个费时的活动,每次都得花费0.05s~1s的时间,而且系统还要分配内存资源。但是如果项目比较大,访问次数也比较多的时候会导致每次产生多次连接而且连接时间也会比较长,这时候我们就会想到为数据库连接建立一个“缓冲池”,也就是我们说的连接池,预先在缓冲池中...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签