Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-05-2020
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
Obtener el estado de un thread

Buenas amigos, tengo una duda:
Con SuspendThread suspendo un hilo, con ResumeThread lo revivo pero ¿pero cómo puedo saber si el hilo ya está suspendido? ¿y qué consecuencias tiene intentar suspender un hilo que ya podría estarlo?

Lo ideal sería obtener su estado ya que para enviar el context a un hilo hay que suspenderlo o eso entendí en la msdn sobre SethreadContext.
Responder Con Cita
  #2  
Antiguo 15-05-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Imagino que te estas refiriendo al manejo de Thread con la API. En este caso, he de comentarte que el SO tiene un contador que se incrementa cuando se suspende un Thread con SuspendThread y se decrementa con ResumeThread. Ambas APIs devuelven el estado previo del contador con lo que ya conoces es estado actual. Un Thread no está activo si el contador es mayor que 1. Puedes ejecutar tantas veces como quieras a SuspendThrea, el Thread no se suspenderá más de lo que esté, pero para activarlo tienes que ejecutar las mismas veces ResumeThread para poner el contador a cero.

El S.O. guarda celosamente el estado del thread y en general no se requiere ahondar más para conocer el estado de un Thread. Si quieres profundizar en este tema puedes leer esto: How to get thread state


Saludos.
Responder Con Cita
  #3  
Antiguo 16-05-2020
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
Vales gracias, pues eso ya lo estuve mirando y en mi caso devuelve 0 y después llamo a resumethread por lo que doy por echo que el hilo no está suspendido pero después de hacer eso pierdo el control del proceso depurado y no responde. Si lo hago sin llamar a SuspendThread y a resumethread no falla.
Responder Con Cita
  #4  
Antiguo 16-05-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por aguml Ver Mensaje
Vales gracias, pues eso ya lo estuve mirando y en mi caso devuelve 0 y después llamo a resumethread por lo que doy por echo que el hilo no está suspendido pero después de hacer eso pierdo el control del proceso depurado y no responde. Si lo hago sin llamar a SuspendThread y a resumethread no falla.
¿Eso te ocurre mientras estás depurando el hilo en cuestión o es el hilo del depurador el que suspendes?


Saludos.
Responder Con Cita
  #5  
Antiguo 16-05-2020
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
Es el hilo sobre el que se le pone los hardware breakpoints.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
thread calco_hugo Varios 6 26-07-2010 20:12:50
Thread Paulao Varios 1 09-05-2008 00:42:34
OBTENER estado del modem (leyendo el puerto) Enan0 Varios 3 20-07-2007 11:55:44
Thread bendito thread...se me pierde la ventana Seba.F1 API de Windows 5 02-02-2006 00:16:30
Hilos o Thread DarkByte Varios 7 20-11-2003 17:10:44


La franja horaria es GMT +2. Ahora son las 23:32:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi