当前位置:   article > 正文

oracle+clod+和bolb,Azure存储Blob类型(CloudBlobContainer,CloudBlobClient等)和线程安全

cloudblobclient

我正在开发一个天蓝色的应用程序,它需要在某个时刻上传(下载)大量的小blob到一个容器(超过1k blob,每个不到1 Mb).为了加快这个过程,我想使用多个线程来上传(下载)blob.

这是我用来上传单个blob的例程:

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConnectionString);

CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

CloudBlobContainer blobContainer =

blobClient.GetContainerReference(ContainerName);

blobContainer.CreateIfNotExist();

CloudBlob blob = blobContainer.GetBlobReference(Id);

blob.UploadByteArray(Data);

对于上面代码中使用的每种类型,MSDN说如下:

Any public static (Shared in Visual Basic) members of this type are

thread safe. Any instance members are not guaranteed to be thread

safe.

这是否意味着我需要在每个线程中执行以下代码?或者也许我只能执行一次并在不同的线程之间共享CloudBlobContainer的单个实例?

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConnectionString);

CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

CloudBlobContainer blobContainer =

blobClient.GetContainerReference(ContainerName);

我很乐意在不同的线程中使用单个CloudBlobContainer实例,否则会严重降低整个上传(下载)过程的速度.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/284354
推荐阅读
相关标签
  

闽ICP备14008679号