柠檬微趣 一面挂
是我太菜了
1 hashmap底层,这个没什么问题
2 多线程写日志,多个线程可能是处理同一个任务,因此会写同一个日志,请设计方案
这个和面试官扯了好久,每次回答都往细节追问![](https://uploadfiles.nowcoder.com/images/20220815/318889480_1660553763930/8B36D115CE5468E380708713273FEF43)
楼主的方案主要是 写副本文件,然后合并,其中使用锁,缓存等
3 两个小问题
多线程同时修改同一个变量为什么不行
mysql b+树。 为什么走一层就是一次磁盘io
1 hashmap底层,这个没什么问题
2 多线程写日志,多个线程可能是处理同一个任务,因此会写同一个日志,请设计方案
这个和面试官扯了好久,每次回答都往细节追问
楼主的方案主要是 写副本文件,然后合并,其中使用锁,缓存等
3 两个小问题
多线程同时修改同一个变量为什么不行
mysql b+树。 为什么走一层就是一次磁盘io
全部评论
![](https://uploadfiles.nowcoder.com/files/20240514/510894044_1715654316364/pingllunicon.png)
多线程同时操作一个变量,可以从汇编的角度简单理解:
i++可以分成一下几步(可能不太准确)
1、寄存器加载这个位置的数
2、add指令
3、赋值
多线程环境下共享的变量i,所有代码会转换成低级语言,也就是汇编指令,当两个线程同时操作时可能会因为语句执行先后顺序导致出现问题
相关推荐
02-05 13:58
江苏海事职业技术学院 Java 点赞 评论 收藏
分享
![](https://static.nowcoder.com/fe/file/oss/1716965564844UEBJN.png)
![](https://static.nowcoder.com/fe/file/oss/1716965585666UBBME.png)
影石Insta360
| 校招
| 超多精选岗位
点赞 评论 收藏
分享