【发布时间】:2013-04-16 00:51:32
【问题描述】:
我正在使用 Google 的 Java API 来处理 Google Cloud Storage (GCS)。
我有多个将对象插入 GCS 的工作线程。目前他们共享一个共同的Storage 实例,并使用它来创建Storage.Object.Insert 实例:
synchronized(LOCK)
{
insertObject = mStorage.objects().insert(mBucketName, objectMetadata, mediaContent);
}
他们随后在 Insert 实例上调用 execute(),将文件上传到 GCS。
insertObject.execute();
我的问题是我可以在不同的线程中同时运行execute() 调用吗? Insert 对象是该线程独有的,但创建它的 Storage 对象是在线程之间共享的,所以我担心这可能会导致问题。
提前致谢!
【问题讨论】:
-
我希望这可以正常工作,但我会看看是否可以从更了解 java api 客户端的人那里找到更权威的答案。
-
This issue 让我相信它是线程安全的。
-
感谢 cmets 伙计们,因此假设它是线程安全的似乎很安全。
标签: java google-api-java-client google-cloud-storage google-api-client