Porque no añades un metodo a tu thread que te permita modificar el estado del thread para que el solito sepa que tiene que acabar? (devolver en el metodo run).<br><br><div class="gmail_quote">2009/5/18 Laura Santiago de la Cal <span dir="ltr">&lt;<a href="mailto:lalii24@hotmail.com">lalii24@hotmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">



<div>
Hola, tambien había probado anteriormente con terminate() (se me olvidó ponerlo) y tampoco me termina la ejecución del hilo...<br>Y efectivamente no tengo un bucle de eventos en mi hilo, explico un poco porque quiero acabar con un hilo pasado X segundos.<br>
Resulta que estoy haciendo un &quot;motor&quot; que manejará hilos escritos por usuarios desconocidos para mi sistema, y lo que pretendo es que si este usuario quiere ejecutar su hio durante más tiempo que el que le otorgo no pueda y ese hilo sea desalojado...<br>
<br>¿Alguna otra idea? (Gracias Albert por contestar tan rápido)<br><br>&gt; From: <a href="mailto:aacid@kde.org" target="_blank">aacid@kde.org</a><br>&gt; To: <a href="mailto:kde-devel-es@kde.org" target="_blank">kde-devel-es@kde.org</a><br>
&gt; Date: Sat, 16 May 2009 18:34:17 +0200<br>&gt; Subject: Re: [Kde-devel-es] Matar hilos (QThread) con el tiempo<div><div></div><div class="h5"><br>&gt; <br>&gt; A Divendres, 15 de maig de 2009, Laura Santiago de la Cal va escriure:<br>
&gt; &gt; Hola, soy nueva en esta listasde distribución (me la recomendaron desde<br>&gt; &gt; otra) y tengo un problema que he mirado por todas partes y no le encuentro<br>&gt; &gt; solución, espero que alguno de ustedes me pueda orientar. Resulta que tengo<br>
&gt; &gt; un proceso que quiero que &quot;guie&quot; 2 hilos (QThread), para ello lo que quiero<br>&gt; &gt; es que llame al primero e independientemente de porque parte de la<br>&gt; &gt; ejecución se encuentre este hilo a los 5 segundos mate a este hilo y llame<br>
&gt; &gt; al segundo. <br>&gt; <br>&gt; No, no quieres hacer eso, matar un thread independientemente de la parte en la <br>&gt; que se encuentre es una MUY MALA práctica de programación.<br>&gt; <br>&gt; &gt; ¿Alguien sabe como hacerlo? Lo que yo he intentado es lo<br>
&gt; &gt; siguiente, pero no funciona:<br>&gt; &gt;<br>&gt; &gt; //Los 2 procesos que compiten<br>&gt; &gt;     a = new clase() ; //clase herda de QThread<br>&gt; &gt;     b = new clase() ;<br>&gt; &gt;<br>&gt; &gt;     //Controlamos los hilos hasta que hay un ganador<br>
&gt; &gt;     while(get_win()==-1)<br>&gt; &gt;     {<br>&gt; &gt;<br>&gt; &gt;         QTimer::singleShot(6, a, SLOT(quit()));<br>&gt; &gt;         QTimer::singleShot(6, b, SLOT(quit()));<br>&gt; &gt;         a-&gt;start();<br>
&gt; &gt;         b-&gt;start();<br>&gt; &gt;         update();<br>&gt; &gt; }<br>&gt; <br>&gt; No funciona porque <br>&gt; <br>&gt; void QThread::quit()<br>&gt; Tells the thread&#39;s event loop to exit with return code 0 (success). Equivalent <br>
&gt; to calling QThread::exit(0).<br>&gt; This function does nothing if the thread does not have an event loop.<br>&gt; <br>&gt; Y más que probablemente tu thread no tenga un event loop.<br>&gt; <br>&gt; Si lo que quieres es matar el thread (ya te he dicho que no deberias hacerlo) <br>
&gt; tienes <br>&gt; <br>&gt; void QThread::terminate()<br>&gt; Terminates the execution of the thread. <br>&gt; When the thread is terminated, all threads waiting for the thread to finish <br>&gt; will be woken up.<br>&gt; Warning: This function is dangerous and its use is discouraged. The thread can <br>
&gt; be terminate at any point in its code path. Threads can be terminated while <br>&gt; modifying data. There is no chance for the thread to cleanup after itself, <br>&gt; unlock any held mutexes, etc. In short, use this function only if absolutely <br>
&gt; necessary.<br>&gt; <br>&gt; Pues eso, que para 3 slots que tiene QThread no habias leido la documentación <br>&gt; con suficientes ganas.<br>&gt; <br>&gt; Albert<br>&gt; <br>&gt; &gt;<br>&gt; &gt; Muchas gracias por su tiempo<br>
&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; _________________________________________________________________<br>&gt; &gt; Comparte, crea, disfruta… Descubre todo, en estos vídeos<br>&gt; &gt; <a href="http://www.windowslive.es" target="_blank">http://www.windowslive.es</a><br>
&gt; <br>&gt; <br>&gt; _______________________________________________<br>&gt; Kde-devel-es mailing list<br>&gt; <a href="mailto:Kde-devel-es@kde.org" target="_blank">Kde-devel-es@kde.org</a><br>&gt; <a href="https://mail.kde.org/mailman/listinfo/kde-devel-es" target="_blank">https://mail.kde.org/mailman/listinfo/kde-devel-es</a><br>
<br></div></div><div class="hm"><hr>Ahora, GRATIS Hotmail en tu móvil  <a href="http://serviciosmoviles.es.msn.com/hotmail.aspx" target="_blank">¡Descúbrelo aquí!</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" target="_blank">https://mail.kde.org/mailman/listinfo/kde-devel-es</a><br>
<br></blockquote></div><br>