<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
sucede exactamente lo mismo (tambien he puesto qDebug ("funciona") y nada, nunca llega a mostrarme funciona...<br><br><hr id="stopSpelling">Date: Wed, 19 Aug 2009 17:27:15 +0200<br>From: aleixpol@kde.org<br>To: kde-devel-es@kde.org<br>Subject: Re: [Kde-devel-es] Matar hilos (QThread) pasado un tiempo sin hacer        sleep<br><br>usa qDebug("hola");<br><br><br><div class="EC_gmail_quote">2009/8/19 Laura Santiago de la Cal <span dir="ltr">&lt;<a href="mailto:lalii24@hotmail.com">lalii24@hotmail.com</a>&gt;</span><br><blockquote class="EC_gmail_quote" style="padding-left:1ex">




<div>
Uy, lo siento, he copiado un ejemplo erroneo (he hecho ya tantas pruebas..) sería:<div><br></div><div><div><div><p style="padding:0em ! important;text-indent:0px">QTimer *timer = new QTimer(this);</p>
<div class="EC_im"><p style="padding:0em ! important;text-indent:0px">connect( timer, SIGNAL(timeout()), this, SLOT(quit()));</p></div></div><div class="EC_im"><p style="padding:0em ! important;text-indent:0px">
timer-&gt;start(200); //2000=2segundos</p></div></div><div class="EC_im"><div><br></div><div>Y más adelante:</div><div>public slots:<br></div><div>void quit()<br><p style="padding:0em ! important;text-indent:0px">
{</p><p style="padding:0em ! important;text-indent:0px">printf("FUNCIONA\n");</p><p style="padding:0em ! important;text-indent:0px">a-&gt;terminate();</p>
<p style="padding:0em ! important;text-indent:0px">}</p></div><div><br></div></div>Y en a tengo un:</div><div>while (1)</div><div>{</div><div>printf("hola\n");</div><div>}</div><div>
<br></div><div>Y nada, Funciona nunca se muestra..<br><hr>Date: Wed, 19 Aug 2009 17:07:27 +0200<div><div></div><div class="h5"><br>From: <a href="mailto:aleixpol@kde.org">aleixpol@kde.org</a><br>To: <a href="mailto:kde-devel-es@kde.org">kde-devel-es@kde.org</a><br>
Subject: Re: [Kde-devel-es] Matar hilos (QThread) pasado un tiempo sin hacer        sleep<br><br>Estás pasando 'a' como padre del QTimer. El padre destruye (delete) todos los hijos cuando se detruye.<br><br><div>2009/8/19 Laura Santiago de la Cal <span dir="ltr">&lt;<a href="mailto:lalii24@hotmail.com">lalii24@hotmail.com</a>&gt;</span><br>

<blockquote style="padding-left:1ex">



<div>
no entiendo la pregunta<br><br><hr>Date: Wed, 19 Aug 2009 16:46:02 +0200<div><div></div><div><br>From: <a href="mailto:aleixpol@kde.org">aleixpol@kde.org</a><br>To: <a href="mailto:kde-devel-es@kde.org">kde-devel-es@kde.org</a><br>

Subject: Re: [Kde-devel-es] Matar hilos (QThread) pasado un tiempo sin hacer        sleep<br><br>No se estará destruyendo 'a'? si es el padre lo destruirá.<br><br><div>2009/8/19 Laura Santiago de la Cal <span dir="ltr">&lt;<a href="mailto:lalii24@hotmail.com">lalii24@hotmail.com</a>&gt;</span><br>


<blockquote style="padding-left:1ex">



<div>
Un Qtimer junto es lo que estoy intentando usar, pero no sé si es que no lo entiendo o leo mal la documentación, pero he intentado usarlo de mil formas diferentes y no me funciona.<div><br></div><div>De la forma siguiente consigo que ejecute y tal, pero no me hace nada. (Yo creo que debería imprimirme Funciona despues de 2 segundos)</div>


<div><br></div><div>En un sitio tengo:</div><div><div><br>
<p style="text-indent:0px">QTimer *timer = new QTimer(a);</p>
<p style="text-indent:0px">connect( timer, SIGNAL(timeout()), this, SLOT(quit()));</p>
</div><p style="text-indent:0px">timer-&gt;start(200); //2000=2segundos</p></div><div><br></div><div>Y más adelante:</div><div>public slots:<br></div><div>void quit()<br>
<p style="text-indent:0px">{</p>
<p style="text-indent:0px">    printf("FUNCIONA\n");</p>
<p style="text-indent:0px">    a-&gt;terminate();</p>
<p style="text-indent:0px">}</p><div><br><hr>Date: Wed, 19 Aug 2009 16:30:07 +0200<br>From: <a href="mailto:aleixpol@kde.org">aleixpol@kde.org</a><div><div></div><div><br>To: <a href="mailto:kde-devel-es@kde.org">kde-devel-es@kde.org</a><br>


Subject: Re: [Kde-devel-es] Matar hilos (QThread) pasado un tiempo sin hacer        sleep<br><br><div>2009/8/19 Laura Santiago de la Cal <span dir="ltr">&lt;<a href="mailto:lalii24@hotmail.com">lalii24@hotmail.com</a>&gt;</span><br>


<blockquote style="padding-left:1ex">




<div>
Estos hilos se ejecutan en un entorno controlado, por tanto no pueden hacer nada fuera del sistema, estos hilos lo único que pueden hacer es modificar las variables del programa en el que se están ejecutando.<div>Además yo lo que digo no es que vaya a dejarlo en el estado anterior sino en el estado que yo deseo...</div>



<div>Voy a explicar mi caso con más detenimiento a ver si así me explico mejor</div><div>Estoy creando un programa que se encargará de enfrentar a otros dos programas escritos por usuarios que no conozco, en este caso concreto cada usuario escribe un jugador de tennis y tiene que intentar ganar el partido, para moverse, golpear y tal les facilito una librería de funciones.</div>



<div>El programa que yo controlo va cediendo el turno a cada uno de los otros 2 programas por turnos (estos se ejecutan en forma de hilo) y lo único que busco es que si uno de los 2 usuarios sin querer (o adrede) se mete en un bucle infinito desalojar ese hilo de la cpu y darlo como si no hubiera hecho nada (no quiere avanzar ni golpear ni nada) y preguntarle al otro que quiere hacer...</div>



<div>No sé si me he explicado, espero que sí... a ver si alguien me puede ayudar a eso, a desalojar un hilo de la cpu si ha excedido un tiempo (sé que puedo poner wait(x) y luego matarlo, pero no quiero bloquear la cpu)</div>



<div>A ver si hay suerte y alguien me puede ayudar...</div></div></blockquote><div><br>Puedes usar QTimer::singleShot().<br>El tema es que si matas un thread puedes dejar el programa entero en un estado descontrolado.<br>



<br>Saludos,<br>Aleix<br>&nbsp;</div><blockquote style="padding-left:1ex"><div><div></div><div><br>&gt; Date: Wed, 19 Aug 2009 13:20:31 +0200<br>
&gt; From: <a href="mailto:ereslibre@kde.org">ereslibre@kde.org</a><div><br>&gt; To: <a href="mailto:kde-devel-es@kde.org">kde-devel-es@kde.org</a><br>&gt; Subject: Re: [Kde-devel-es] Matar hilos (QThread) pasado un tiempo sin hacer        sleep<br>



&gt; <br></div><div><div></div><div>&gt; 2009/8/19 Laura Santiago de la Cal &lt;<a href="mailto:lalii24@hotmail.com">lalii24@hotmail.com</a>&gt;:<br>&gt; &gt; La función terminate la tengo habilitada ya que si la pongo fuera del slot<br>



&gt; &gt; me termina el hilo perfectamente, asi que ese no puede ser el problema<br>&gt; &gt; Respecto a que matar hilos así derepente es mala práctica normalmente ya lo<br>&gt; &gt; sé, pero en este caso es lo que deseo hacer ya que una vez que yo los mate<br>



&gt; &gt; me preocuparé de dejar el sistema en el estado que yo deseo, asi que por eso<br>&gt; &gt; no hay problema.<br>&gt; <br>&gt; Creo que esto último es imposible. Si no sabes qué código ejecuta el<br>&gt; jugador (según lo que has dicho en otro mensaje) es sencillamente<br>



&gt; imposible que dejes el sistema en el mismo estado en el que se<br>&gt; encontraba, básicamente porque no sabes qué hizo el código del<br>&gt; jugador.<br>&gt; <br>&gt; Imagínate que por alguna razón desconocida, ha abierto un fichero y<br>



&gt; está escribiendo sobre él en el momento en el que matas el hilo. Es<br>&gt; imposible que puedas dejar el sistema en el mismo estado en el que se<br>&gt; encontraba.<br>&gt; <br>&gt; <br>&gt; Un saludo,<br>&gt; Rafael Fernández López.<br>



&gt; _______________________________________________<br>&gt; Kde-devel-es mailing list<br>&gt; <a href="mailto:Kde-devel-es@kde.org">Kde-devel-es@kde.org</a><br>&gt; <a href="https://mail.kde.org/mailman/listinfo/kde-devel-es">https://mail.kde.org/mailman/listinfo/kde-devel-es</a><br>



</div></div></div><br><hr>¿Quieres los nuevos emoticonos en 3D?  <a href="http://www.vivelive.com/emoticonos3d/index2.html">¡Descárgatelos gratis! </a></div>
<br>_______________________________________________<br>
Kde-devel-es mailing list<br>
<a href="mailto:Kde-devel-es@kde.org">Kde-devel-es@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kde-devel-es">https://mail.kde.org/mailman/listinfo/kde-devel-es</a><br>
<br></blockquote></div><br></div></div></div></div><div><div></div><div><br><hr>¿Quieres los nuevos emoticonos en 3D?  <a href="http://www.vivelive.com/emoticonos3d/index2.html">¡Descárgatelos gratis! </a></div>


</div></div>
<br>_______________________________________________<br>
Kde-devel-es mailing list<br>
<a href="mailto:Kde-devel-es@kde.org">Kde-devel-es@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kde-devel-es">https://mail.kde.org/mailman/listinfo/kde-devel-es</a><br>
<br></blockquote></div><br><br></div></div><div><hr>Hotmail en tu móvil allá donde vayas <a href="http://serviciosmoviles.es.msn.com/hotmail/hotmail.aspx"> ¡Descúbrelo!</a></div></div>
<br>_______________________________________________<br>
Kde-devel-es mailing list<br>
<a href="mailto:Kde-devel-es@kde.org">Kde-devel-es@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kde-devel-es">https://mail.kde.org/mailman/listinfo/kde-devel-es</a><br>
<br></blockquote></div><br></div></div></div><div class="EC_im"><br><hr>Messenger cumple 10 años  <a href="http://www.vivelive.com/aniversariomessenger">¡Conéctate y celébralo con toda la comunidad!</a></div>
</div>
<br>_______________________________________________<br>
Kde-devel-es mailing list<br>
<a href="mailto:Kde-devel-es@kde.org">Kde-devel-es@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kde-devel-es">https://mail.kde.org/mailman/listinfo/kde-devel-es</a><br>
<br></blockquote></div><br><br /><hr />¡Que no te pillen atascos ni  radares! En MSN te damos toda la información sobre el estado de las carretas y te mostramos  <a href='http://motor.es.msn.com/servicios/' target='_new'>dónde se encuentran los radares de tráfico.</a></body>
</html>