gpt4 book ai didi

java - java中构造函数线程的方法引用是安全的吗?

转载 作者:行者123 更新时间:2023-12-03 13:15:12 24 4
gpt4 key购买 nike

例如,这是一个类 A , FunciontionInterface f= A::new ,然后我在不同的线程中调用 f(),它是线程安全的吗?

注意:这不是 Are method References as method parameters thread safe in Java 的重复问题.此外,我问的是对象的构造方法,而不是用户定义的方法。

最佳答案

方法引用只是语法糖。方法引用的线程安全(在这种情况下是构造函数引用)归结为构造函数本身是否是线程安全的事实。构造函数不是线程安全的情况例如:

  • 修改static没有适当同步机制的构造函数中的变量
  • 出版this在对象完全初始化并且可以被其他线程访问之前从构造函数中引用。

  • 再补充一点,如果您在某个方法中调用构造函数(无论是通过普通构造函数调用还是对该构造函数的方法引用完成),则创建的对象将绑定(bind)到该线程(线程限制)并且如果您不让对该对象的引用逃逸 - 那么创建的对象仅由一个线程使用。

    关于java - java中构造函数线程的方法引用是安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61692887/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com