我应该将GryoMapper声明为静态字段吗?

问题描述 投票:-1回答:1

看下面的代码,它看起来是线程安全的。

https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoMapper.java

希望像它一样使用它

class Foo {
    private static final GryoMapper MAPPER = GryoMapper.build().create();
}

代替


class Foo {
    private final GryoMapper MAPPER = GryoMapper.build().create();
}


gremlin tinkerpop tinkerpop3 tinkergraph
1个回答
1
投票

Gryo基于Kryo,这是not thread-safeGryoMapper基本上只是Kryo实例的构建器,这意味着您应该能够在没有static声明的情况下将其初始化为成员变量。请确保您从Kryo生成的GryoMapper实例不会被多个线程同时访问,如提供的Kryo链接中所述。

© www.soinside.com 2019 - 2024. All rights reserved.