java吧 关注:1,187,113贴子:12,592,434

面试时,我说cas和double check lock差不多,给面试官整乐了

只看楼主收藏回复

我也不知道他乐啥,我想都是先记录,然后做下一步的操作的时候然后再判断下跟之前的记录是不是一样,如果不一样说明被其他线程动过了,就不需要进行下一步操作了。只不过一个的操作是加不加锁,


IP属地:广东1楼2023-12-11 23:20回复
    越想越气


    IP属地:广东2楼2023-12-11 23:57
    回复
      不知道在笑什么


      IP属地:广东3楼2023-12-11 23:57
      收起回复
        你到现在还不知道问题是什么其实更好笑


        IP属地:广东来自Android客户端4楼2023-12-12 00:19
        回复
          你到现在还不知道问题是什么其实更好笑


          IP属地:河北5楼2023-12-14 11:28
          收起回复
            不用理会


            IP属地:辽宁来自Android客户端6楼2023-12-16 17:58
            回复
              不用理会那些故作高深的人,如果在乎,只会徒增烦恼。


              IP属地:黑龙江7楼2023-12-16 18:12
              回复
                cas悲观锁,lock乐观锁。说他们的区别吧


                IP属地:广东来自iPhone客户端8楼2023-12-16 18:41
                收起回复
                  双重校验,第一次判空和第二次判空作用分别是什么


                  IP属地:江苏来自Android客户端9楼2023-12-17 00:41
                  收起回复
                    你要跟我说罗马和桶装水差不多那我也得乐
                    有内海 有海峡 是罗马


                    IP属地:日本来自Android客户端10楼2023-12-17 01:09
                    回复
                      应用场景不一样,cas无锁同步,double check lock 还是基于锁


                      IP属地:浙江来自Android客户端11楼2023-12-17 01:29
                      回复
                        笑你很正常,理解太片面,cas是底层系统的原子操作,怎么能和双重校验锁混为一谈,而且普通cas并不能保证没有被其他线程动过,有aba的问题


                        IP属地:广东来自Android客户端12楼2023-12-17 02:25
                        回复
                          很好理解啊,我让你写双重检验的源码,你会写,让你写cas的源码,你会吗?


                          IP属地:湖北来自Android客户端13楼2023-12-17 07:34
                          回复
                            原地并发修改整个业界无法两种方案:乐观锁和队列。 cas是乐观锁在cpu层级的一种方案,都是比较当前值与预期值是否一致,然后再决定是否修改的思路。队列就不一样了,是利用某种机制,保证一时只能有一个执行者进行修改,包括内存锁、分布式锁、悲观锁,队列、actor、mq等等。double check 属于后者,cas属于前者。


                            IP属地:河北来自iPhone客户端14楼2023-12-17 08:01
                            收起回复
                              如果你面的是10k的工作,那面试官确实不礼貌。如果你面的是20k的工作,那我也笑你


                              IP属地:江苏来自Android客户端15楼2023-12-17 08:30
                              收起回复