关于get()调用initialValue()

关于get()调用initialValue()

这里ppt说每个线程最多调用一次此方法,老师说只新建了一次对象,后面那么多线程再get都不会调用initialvalue方法。想明确一下到底是什么时候调用啊?是每个线程都会调用一次,只是后面不管执行什么任务都不会再触发吗?

在这里输入代码,可通过选择【代码语言】突出显示

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿慧 2020-12-02 17:28:33

同学你好,当调用get()方法的时候,底层会调用我们重写的initialvalue()方法。是否每个线程都要调用一次,不再触发,要根据具体的业务情况。

  • rock221 #1

    也就是get方法方法后,初始化一次, 获取到数据了,下次线程再次get,就不会初始化了。 可以直接取出数据。 对吧。 

    2021-06-20 13:10:20
  • rock221 #2

    但是remove 之后, 同一个线程每次get的时候, 都会重新执行

    initialValue方法的, 老师说根据具体情况来分析是否执行,就是这个意思吧。看需不需要+remove,

    2021-06-20 13:24:42
  • 同学你好,同学的理解是正确的。

    get方法方法后,初始化一次, 获取到数据了,下次线程再次get,就不会初始化了。

    但是调用remove方法后,再次调用get方法,就会重新执行一次这个initialValue()方法。


    http://img1.sycdn.imooc.com//climg/60cefa25090df88a14720354.jpg

    在使用中,根据具体的业务情况,觉得是否使用remove方法。

    祝学习愉快~

    2021-06-20 16:22:57
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师