Necesito ayuda para entender la seguridad de subprocesos en las clases azules CloudBlobClient, CloudQueueClient y CloudBlob.Azure Blob and Queue Thread Safety
Estoy desarrollando un rol de trabajador que incluye múltiples procesadores de trabajo independientes donde cada uno de estos procesadores de trabajos lee de una cola específica y escribe/actualiza en algunos contenedores de blobs que pueden ser los mismos.
Quiero asegurarme de que estos procesadores de trabajo no se pise el uno al otro.
1> ¿Cómo puedo asegurarme de que este sea el caso sin utilizar ningún tipo de bloqueo? Si asigno CloudBlobClient y CloudQueueClient por separado a cada uno de mis procesadores de trabajo (quienes viven en el mismo proceso), es suficiente decir que son independientes entre sí y porque cada procesador de trabajo usa una instancia de cliente separada, no se ejecutarán el uno al otro en absoluto?
2> En el mismo procesador de trabajos, si intento tener paralelismo en CloudBlobClient usando Parallel.ForEach para decir call GetBlobReference o UploadText en paralelo, ¿necesito incorporar algún tipo de sincronización o estos métodos son seguros para subprocesos? La documentación de Azure dice que no, pero la mayoría de los ejemplos que he visto en línea no parecen aplicar ningún tipo de mecanismo de sincronización en estos métodos. ¿Cuál es la mejor manera de lograr esto? Me refiero a la mejor manera de usar un CloudBlobClient y llamar a GetBlobReference o UploadText en paralelo?
Pero estoy un poco de acuerdo con Oliver ya que esto es para ser más del comentario de la placa de la caldera. No pude encontrar ningún problema informado sobre esto, excepto cuando se usa uno superior a uno para ParallelOperationThreadCount. Prefiero no bloquear el código si no es necesario. – iCode
Usted ve el comentario sobre seguridad de hilos en prácticamente todas las clases del marco.ParallelOperationThreadCount es utilizado por la biblioteca para crear subprocesos internamente, por lo que esto no debería afectar lo que está haciendo. Las clases de los clientes son muy livianas de crear. – knightpfhor