このドキュメントを読んだとき、Java HBase API でアプリ固有のラッパーを作成していました。
http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Result.html
それは言うThis class is **NOT THREAD SAFE**.
スレッドセーフではないということは、正確にはどういう意味ですか。私は基本的に C++ プログラマーであり、誰かがその関数strtok()
がスレッド セーフではないと言った場合、マルチスレッド環境では使用しません。そのようなものstrtok()
は、静的変数を使用し、2 つの異なるスレッドによってこの関数を呼び出すことはお勧めできません。
JAVAに関しても同じですか?
私は機能を持っています:
public String get(String key, String family) {
Get get = new Get(key.getBytes());
get.addFamily(family.getBytes());
Result result = null;
try {
result = _table.get(get);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "";
}
関数 get は、複数のスレッドによって呼び出される場合があります。何らかの方法で Result を使用するのは安全ではありませんか?