4D v18

Use...End use

Inicio

 
4D v18
Use...End use

Use...End use  


 

 

La sintaxis formal de la estructura Use...End use es:

 Use(Shared_object_or_Shared_collection)
    statement(s)
 End use

La estructura Use...End use define una secuencia de instrucciones que ejecutará tareas en el parámetro Shared_object_or_Shared_collection bajo la protección de un semáforo interno. Shared_object_or_Shared_collection puede ser cualquier objeto compartido o colección compartida válidos.

Los objetos compartidos y las colecciones compartidas están diseñados para permitir la comunicación entre procesos, en particular, Procesos 4D apropiativos. Se pueden pasar por referencia como parámetros de un proceso a otro. Para información detallada sobre objetos compartidos o colecciones compartidas, consulte la página Objetos y colecciones compartidos. Las modificaciones circundantes en objetos compartidos o colecciones compartidas por las palabras claves Use...End use son ​​obligatorias para evitar el acceso concurrente entre procesos.

  • Una vez que la línea Use se ejecuta con éxito, todas las propiedades/elementos Shared_object_or_Shared_collection bloquean para el resto del proceso en el acceso de escritura hasta que se ejecuta la línea End use correspondiente.
  • La secuencia instruccion(es) puede ejecutar cualquier modificación en las propiedades/elementos Shared_object_or_Shared_collection sin riesgo de acceso concurrente.
  • Si se agrega otro objeto o colección como propiedad del parámetro Shared_object_or_Shared_collection, se conectan dentro del mismo grupo compartido ver Utilizar objetos o colecciones compartidos).
  • Si otro proceso intenta acceder a una de las propiedades Shared_object_or_Shared_collection o a las propiedades conectadas mientras se está ejecutando una secuencia Use...End use, se pone automáticamente en espera y espera hasta que finalice la secuencia actual. 
  • La línea End use desbloquea las propiedades Shared_object_or_Shared_collection y todos los objetos que comparten el mismo identificador de bloqueo.
  • Varias estructuras Use...End use se pueden anidar en el código 4D. En ese caso, todos los bloqueos se apilan y las propiedades/elementos se liberarán solo cuando se ejecute la última llamada End use.

Nota: si una función miembro de una colección (ver Métodos colección) modifica una colección compartida, se llama automáticamente a un Use interno para esta colección compartida mientras se ejecuta la función.



Ver también 

Objetos y colecciones compartidos

 
PROPIEDADES 

Producto: 4D
Tema: Presentación del lenguaje

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v16 R6

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v18)