OT. vida artificial

tny a.porrua en gmail.com
Jue Jul 5 21:16:07 CEST 2007


Pido disculpas a todos, pues no era mi intención que esto interfiriese
al normal funcionamiento de la lista.

Regresemos a python

Una duda.

Yo había leído por hay que los threads no eran para nada deterministas,
que no se sabe a priori cuanto tiempo va a tardar cpython en crear cada
hilo y lanzarlo, o como les va a ir dando los turnos.

Tengo entendido que se puede ejecutar varias veces del mismo modo el
mismo programa y obtener resultados diferentes e impredecibles en cada
vez, (No vale usar random)


#hilos
import thread
def hilo(numero):
    for i in range(1000):
        if i%100==0:  print numero,

def main():
    for i in range(100):
        a=thread.start_new_thread(hilo,(i,))
        print "",
        
if __name__=='__main__':
    main()


tny en skynet:~$ python determinista.py 
          0 0 0 0 0 0 0 0 0 0                1 1 1 1 1 1 1 1 1 1 2 2 2 2
2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9
9 9 9 9 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 12
12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14
14 14 14 14 14                       16 16 16 16 16 16 16 16 16 16 17 17
17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19
19 19 19 19 15 15 15 15 15 15 15 15 15 15 20 20 20 20 20 20 20 20 20 20
21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 23 23 23 23
23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25
25 25 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 28 28
28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 30 30 30 30 30 30
30 30 30 30 31 31 31 31 31 31 31 31 31 31 32 32 32 32 32 32 32 32 32 32
33 33 33 33 33 33 33 33 33 33 34 34 34 34 34 34 34 34 34
34                                                     
tny en skynet:~$ python determinista.py 
                        1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 0 0 0 0
0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9
9 9 9 9 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 12
12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14
14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16
16 17 17 17 17 17 17 17 17 17
17                                                                            
tny en skynet:~$ python determinista.py 
                        1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 0 0 0 0
0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9
9 9 9 9 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 12
12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14
14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16
16 17 17 17 17 17 17 17 17 17 17            18 18 18 18 18 18 18 18 18
18 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 21 21 21
21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23
23 23 23 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 26
26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27
27                                                                 
tny en skynet:~$ python determinista.py 
                        1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 0 0 0 0
0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9
9 9 9 9 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 12
12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14
14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16
16           17 17 17 17 17 17 17 17 17 17                     


------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es