在一个群里被恶心坏了

223 天前
 gongxuanzhang
我在 B 站看到一个微博架构师发的一些视频.觉得他讲的东西很实战,加了他的群,而且是哈尔滨的,我本人是佳木斯的所以对他非常有好感
今天上午群里在讨论事务隔离级别的问题.
本身就这一个技术问题大家有着不同的理解很正常,无论说的是对是错我觉得都没啥问题.
主要是针对 MySQL 的 RR 隔离级别下的幻读问题






这时候他表示没有锁就是幻读,还表示 Java 的锁就没学明白,我表达快照读就算不加锁同样没有幻读问题,除非你在事务里面修改了其他事务新增的数据,那就没办法了





然后就开始攻击我了,说官方文档写的清楚.

然后我去 MySQL 官方看,同时自己做了验证,我的理解是普通 Select 无论加不加锁,无论怎么查询都不会有幻读问题,如果 for update 或者 delete update 这种操作就会用临建锁或者间隙锁来保证一致.
所以他的结论"不加锁都是幻读" 就是不对的

还上升到 java 的锁,CopyOnWirteArrayList 不就是快照实现吗? 一个快照迭代器创建之后就是不会被其他线程影响啊,难道迭代器不加锁要被 add 影响吗? 无锁保证数据一致的方法多了,JcTool 里面好多队列都是



当我想把官方这个截图贴到群里的时候,我就已经被踢了. 我巨无语,一个资深技术专家可以这么讨论问题的.

然后我去 B 站质问他,果不其然 B 站也把我拉黑了



这就是架构师的格局吗 开了眼了


我觉得无论我说的是不是对的,技术问题起码应该就事论事,直接开始人身攻击,属实牛
24231 次点击
所在节点    程序员
161 条回复
xianyv
223 天前
@meisen 这群......奇怪的人有点多
gongxuanzhang
223 天前
@watzds 有道理 我下次换个方式
gongxuanzhang
223 天前
@blankmiss 周末就做
MoGeJiEr
223 天前
我也支持你发个视频反驳他,事不是什么大事,关键是太恶心了。
rainABC
223 天前
总有些人高高在上的感觉,不能惯着
Jame00001
223 天前
我也是最讨厌这些,但看了 5 楼的说法倒是有些理解。只能擦亮眼睛了
7911364440
223 天前
笑死了,那几个喊勇哥牛逼,勇哥厉害的都是托吧。

另外 select 加锁以后就变成当前读了,会有幻读问题的。而且间隙锁只对索引字段生效,所以可重复读并不能完全避免幻读
wyhooo
223 天前
技术群一个不加。这种打着 XX title 的本质都是割韭菜 or 满足个人虚荣心,群里大多数都小白,也不会有什么技术含量的。
gongxuanzhang
223 天前
@7911364440 是的,普通的 select 区别于 select for update
a86356
223 天前
这世界本来就不是非黑即白的,都是利益,op 理解了这句话,才会不那么较真。。。
hangbale
223 天前
什么架构师 打的就是架构师
zfyStars
223 天前
把你从韭菜群移除 你不是目标用户
你打大哥脸了 以后他怎么教育小弟
gongxuanzhang
223 天前
@a86356 我较真的是技术和对技术的态度,我也不反感卖课,但内容得值吧.. 起码得对吧
a86356
223 天前
@gongxuanzhang 不讨论对错,只能说站的立场不同。他能卖得下去,有粉丝,有受众,就说明他的内容有一定的价值。很明显,你不是他的受众,他 t 你也正常。
NeedI09in
223 天前
首先,mysql 里读是加锁的,读锁和写锁是互斥的,rr 和 rc 之所以读写快是因为用了一致性非锁定读,本质是 mvcc ,通过 undo_log 实现。
rc 和 rr 都加了 mvcc ,但是 rc 有幻读,为了解决这个问题加的 rr 。
幻读解决办法是 rr 隔离级别加的间隙锁 + 一致性非锁定读( mvcc )解决的。
硬要说 rr 隔离级别下也有幻读。因为他不用一致性非锁定读,而用排他锁 for update ,或者共享锁 for share mode 。来读当前数据,确实有道理,但是他只是想显得自己很懂而已,没必要计较,因为你知道有这种特殊情况接纳就行了,当你和他争论,你就陷入了自证陷阱。语气不好就反击,没必要惯着。讨论问题是基于态度端正,而不是谁说话难听,反问句多就有道理。
如果我说的有不对还望各位海涵。
adm7n
223 天前
哈哈,建议直接 B 站出视频 DISS 他
gongxuanzhang
223 天前
@NeedI09in 是的,我觉得他用道理和例子拍我一脸我都接受,结果让我多读书别 BB,我真忍不了
luolin0826
223 天前
shyrock
223 天前
你见过哪个技术社区有人不停喊“勇哥牛逼”“勇哥高明”的。。。在技术者眼里跟个傻子一样。。。
NeedI09in
223 天前
@NeedI09in 补充一下,开发始终是一个百密不如一疏的行业,有人提出疏忽其实是好事,但是阴阳怪气和鄙夷(这点都不知道)这种态度是不对的,“你知道”并不意味着你可以阴阳怪气和鄙夷。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1039525

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX