AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de gestión de procesos / Hilos, semáforos, señales y mutex
  • Caso especial: Detener un subproceso que contiene la función SocketWaitForConnection
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Advertencia
No se recomienda el uso de esta función porque detiene el subproceso actual de manera abrupta. Puede causar problemas graves (escritura incompleta de archivos, pérdida de memoria, sección crítica no eliminada, etc.). Se recomienda utilizar ThreadRequestStop y ThreadStopRequested.
Detiene un subproceso secundario.
Recordatorio: Un subproceso es un proceso que se ejecuta en paralelo con la aplicación actual (subproceso principal). Esto le permite iniciar una tarea en segundo plano (hacer una copia de seguridad, etc.).
Sintaxis
<Result> = ThreadStop(<Thread name> [, <Maximum timeout>])
<Result>: Booleano
  • True si se detuvo el subproceso o si el subproceso no existe,
  • False si el subproceso está bloqueado
<Thread name>: Cadena de caracteres
Nombre del subproceso a detener. Este nombre se asigna al ejecutar el subproceso (con la función ThreadExecute).
Casos especiales:
  • Si este parámetro corresponde a una cadena vacía (""), el subproceso actual se detiene. Si el subproceso actual es el subproceso principal, la función ThreadStop es equivalente a la función EndProgram.
    Universal Windows 10 App Solo se permite este comportamiento. La función ThreadStop solo puede utilizarse en el subproceso actual.
  • Si el nombre del subproceso no existe, la función ThreadStop no tiene ningún efecto y devuelve True.
  • Si el nombre del subproceso es un subproceso hijo o un subproceso hermano, ThreadStop espera a que la función WLanguage actual (por ejemplo, HReadFirst) termine. En este caso, ThreadStop es una función de bloqueo.
  • Si este parámetro corresponde a la constante threadMain, el subproceso principal se detiene.
  • De lo contrario, se produce un error WLanguage.
<Maximum timeout>: Entero opcional
Tiempo máximo de espera en centésimas de segundo.
  • Si al final de la duración especificada, no se ha detenido el subproceso <Result> se establece en False.
  • Si no se especifica este parámetro o corresponde a la constante Infinite, la espera es infinita.
Este parámetro puede ser:
  • un número entero que corresponde al número de centésimas de segundo,
  • una variable de tipo Duration,
  • la duración en un formato legible (por ejemplo, 1 s o 10 ms).
Observaciones

Caso especial: Detener un subproceso que contiene la función SocketWaitForConnection

Para detener el subproceso correctamente con la función ThreadStop, se debe incluir la función SocketWaitForConnection en un bucle:
Timeout = 30
LOOP
SocketWaitForConnection("MySocket", Duration)
END
Componente: wd290vm.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Video Thread
https://youtu.be/4WYw-BGyh1w

https://windevdesenvolvimento.blogspot.com/2019/01/dicas-1997-windev-threads-03-threadstop.html

amarildo
25 01 2019

Última modificación: 21/06/2023

Señalar un error o enviar una sugerencia | Ayuda local