AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de gestión de procesos / Hilos, semáforos, señales y mutex
  • Varios
  • Equivalencia
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
Marca el inicio de una sección crítica: ningún otro Thread podrá ejecutar el código mientras el Thread actual no salga de la sección crítica.
Para salir de la sección crítica, utilice CriticalSectionEnd.
Windows Cuando las llamadas a CriticalSectionStart y CriticalSectionEnd están en la misma sección del código, se recomienda utilizar el tipo CriticalSection y la sintaxis USO ... EN.
Ejemplo:
// Using a Critical Section variable
S is CriticalSection

// Use for a code block
//---------------------------
USING S IN
// code protected by the critical section
// only one thread will execute this code at a given moment
END
Ejemplo
Windows
// Critical section on a variable
t is array <critical section> of int
CriticalSectionStart(t)
// Operations on the array by one only thread at a time
CriticalSectionEnd(t)
// Use of a named critical section
CriticalSectionStart("MySection")
// Two threads will not be able to run this code at the same time
...
CriticalSectionEnd("MySection")
Sintaxis
Windows

Iniciar una sección crítica en una sección de código: usando el tipo CriticalSection Ocultar los detalles

CriticalSectionStart(<Critical section>)
<Critical section>: CriticalSection Variable
Nombre de la CriticalSection Variable utilizada para identificar la sección crítica.
Windows

Iniciar una sección crítica en una Variable Ocultar los detalles

CriticalSectionStart([<Variable name>])
<Variable name>: Cualquier tipo
Nombre de WLanguage Variable que debe ser protected en una sección crítica. Esta variable debe definirse con el atributo <sección crítica>.

Iniciar una sección crítica nombrada en una sección de código Ocultar los detalles

CriticalSectionStart([<Section name>])
<Section name>: Cadena de caracteres opcional
Identifica la sección crítica. Este parámetro permite identificar las secciones del código protected.
Si no se especifica este parámetro, se implementa una sección crítica de automatic.
Observación: la sección crítica automática y la sección crítica que corresponde a una cadena vacía ("") son diferentes.
Observaciones

Varios

  • Para más detalles sobre las secciones críticas, véase Gestionar secciones críticas.
  • Si una Thread es destruida mientras se encuentra en una sección crítica, la sección crítica se libera automáticamente.
  • Se permite una sola thread en todas las secciones con el mismo nombre.
  • Si las secciones usan un nombre diferente, una thread puede ejecutar el código de una sección mientras que otra thread ejecuta el código de otra sección.
  • Para obtener más información, consulte Asociar una sección crítica con una Variable.

Equivalencia

SemaphoreStart("SemaphoreName")
equivale a:
CriticalSectionStart("MyCriticalSection")
En efecto, mediante Default, SemaphoreStart crea un semáforo limitado a un único thread.
Componente: wd290vm.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 22/06/2023

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