elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Problema threads en python (setDaemon)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema threads en python (setDaemon)  (Leído 1,849 veces)
Robertus98

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Problema threads en python (setDaemon)
« en: 5 Julio 2014, 02:54 am »

Buenas haber si alguien me puede ayudar a resolver este problema que tengo! :-\

Supongamos que tengo un codigo parecido a este:
Código
  1. import time
  2. import threading
  3.  
  4. def hola():
  5.    while 1:
  6.        print "Hola"
  7.        time.sleep(3)
  8. t = threading.Thread(target=hola())
  9. t.setDaemon(True)
  10. t.start()
  11. while True:
  12.    print "adios"
  13.    time.sleep(5)
  14.  

Supuestamente si ejecuto el thread como daemon deberia dejar avanzar  el script no?

Un saludo!


« Última modificación: 5 Julio 2014, 03:15 am por Robertus98 » En línea

daryo


Desconectado Desconectado

Mensajes: 1.071



Ver Perfil WWW
Re: Problema threads en python (setDaemon)
« Respuesta #1 en: 5 Julio 2014, 03:19 am »

Código
  1. Supuestamente si ejecuto el thread como daemon deberia dejar avanzar  el script no?
lo que hace es que si se cierra el thread principal el daemon tambien se cierra solo cambia eso. si por ejemplo hago una ventana y el usuario la intenta cerrarla si tuviera corriendo threads que no son daemon no podra cerrarse pero en cambio como daemon si se cerrara.

 el script avanzara sea o no sea daemon el thread


« Última modificación: 5 Julio 2014, 03:21 am por daryo » En línea

buenas
Robertus98

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: Problema threads en python (setDaemon)
« Respuesta #2 en: 5 Julio 2014, 03:23 am »

Vale, entonces porque no me avanza?
Una imagen vale más que mil palabras!
http://imgur.com/8bUhxeY
« Última modificación: 5 Julio 2014, 03:25 am por Robertus98 » En línea

daryo


Desconectado Desconectado

Mensajes: 1.071



Ver Perfil WWW
Re: Problema threads en python (setDaemon)
« Respuesta #3 en: 5 Julio 2014, 04:31 am »

porque los threads de python son algo extraños solo se puede ejecutar un thread a la vez y luego se bloquea para ejecutar otro, esto es lo que hacen los threads de forma oculta por alguna razon python no lo hace y hay que hacer todo este proceso a mano

http://mundogeek.net/archivos/2008/04/18/threads-en-python/

si quieres evitar esto crea otro proceso

cuando dices avanza estas imaginando el proceso como algo independiente del thread y no es asi cuando uno avanza el otro tambien.
« Última modificación: 5 Julio 2014, 04:37 am por daryo » En línea

buenas
Robertus98

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: Problema threads en python (setDaemon)
« Respuesta #4 en: 5 Julio 2014, 14:45 pm »

Vale, ahora lo he entendido todo!
Muchas gracias por la información!

Un saludo! ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con Threads en libreria SDL en C++
Programación C/C++
Guillermo575 9 6,372 Último mensaje 7 Abril 2011, 06:04 am
por Guillermo575
Problema con threads y vector de labels
.NET (C#, VB.NET, ASP)
XxyoyxX 2 2,501 Último mensaje 3 Diciembre 2011, 21:04 pm
por XxyoyxX
Problema con Threads al pasar un dato mediante argumentos
Java
AlterMundis 2 1,825 Último mensaje 23 Enero 2013, 22:50 pm
por AlterMundis
Problema con Threads en Java
Java
Norochii 3 4,119 Último mensaje 23 Septiembre 2013, 10:46 am
por Norochii
Alternar Threads Python
Scripting
Robertus98 0 1,157 Último mensaje 11 Julio 2014, 10:27 am
por Robertus98
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines