[pyar] Nombres unicos para tablas

Roberto Alsina ralsina en netmanagers.com.ar
Vie Jun 18 15:51:51 ART 2010


On Friday 18 June 2010 15:41:34 Daniel Moisset wrote:
> 2010/6/18 Roberto Alsina <ralsina en netmanagers.com.ar>:
> > On Friday 18 June 2010 15:27:12 Lucio Torre wrote:
> >> No dije que sea dificil.
> >> proximo_id = uuid.uuid4() tampoco es dificil. Solo exprese mi
> >> preferencia a no usar locks en todo lo posible como un tema de
> >> politica.
> > 
> > Pero para usar random() también tenés que hacer un lock, o tenés una race
> > condition. Sí ya sé, es requeterecontrasuperimprobable que te falle, pero
> > por lo menos en teoría está.
> 
> como es? la random() de C tenía ese problema por que el generador
> tiene estado global, pero se pueden hacer generadores de
> pseudoaleatorio con estado completamente local (y por lo tanto
> thread-safe)... y entendía que el de python era asi
> 
> la pifié?

Tendrán distinto estado pero pueden dar lo mismo, no? :-)

O sea, si el algoritmo es algo como

1. sacar numero al azar
2. ver que no se usa
3. usarlo

Entonces si otro hilo/proceso/loquesea corre un poquito mas tarde y se 
intercala (su paso 1 entre 1 y 2, su 2 entre 2 y 3) y obtiene el mismo número 
al azar, entonces vas a terminar con el mismo nombre de tabla.



More information about the pyar mailing list