Obtiene un bloqueo exclusivo en una clave dada

# wincache_lock

(PECL wincache >= 1.1.0)

wincache_lock — Obtiene un bloqueo exclusivo en una clave dada

### Descripción

function wincache_lock(string `$key`, bool `$isglobal` = `false`): bool

Obtiene un bloqueo exclusivo sobre una clave dada. La ejecución del script actual quedará en espera que se pueda obtener el bloqueo. Una vez obtenido el bloqueo, el otro script que intente solicitar dicho bloqueo utilizando la misma clave quedará en espera, hasta que el script actual libere el bloqueo con wincache_unlock().

Advertencia

El uso de wincache_lock() y wincache_unlock() puede causar bloqueos de punto muerto al ejecutar scripts de PHP en un entorno multiproceso como FastCGI. No emplear estas funciones a menos que se esté absolutamente seguro de que son necesarias. Para la mayoría de las operaciones en la caché de usuario no es necesario usar estas funciones.

### Parámetros

`key`

  Nombre de la clave en la caché para adquirir el bloqueo.

`isglobal`

  Controla si el ámbito del bloqueo es a nivel de sistema o local. Los bloqueos locales tienen alcance para la «pool» de la aplicación en el caso de FastCGI de IIS o a todos los procesos de php que tengan el mismo identificador de proceso padre.

### Valores devueltos

Esta función retorna `true` en caso de éxito o `false` si ocurre un error.

### Ejemplos

Ejemplo #1 Empleo de wincache_lock()

    <?php
    $fp = fopen("/tmp/lock.txt", "r+");
    if (wincache_lock(“lock_txt_lock”)) { // realizar un bloqueo exclusivo
        ftruncate($fp, 0); // truncate file
        fwrite($fp, "Write something here\n");
        wincache_unlock(“lock_txt_lock”); // liberar el bloqueo
    } else {
        echo "No se pudo obtener el bloqueo";
    }
    fclose($fp);
    ?>

### Ver también

- wincache_unlock() - Libera un bloqueo exclusivo sobre una clave dada
- wincache_ucache_set() - Añade una variable a la caché de usuario y sobrescribe la variable si ya existe en la caché
- wincache_ucache_get() - Obtiene una variable almacenada en la caché del usuario
- wincache_ucache_delete() - Elimina las variables de la memoria caché del usuario
- wincache_ucache_clear() - Elimina todo el contenido de la caché del usuario
- wincache_ucache_exists() - Comprueba si una variable existe en la caché del usuario
- wincache_ucache_meminfo() - Recupera información sobre el uso de memoria caché de usuario
- wincache_ucache_info() - Recupera información sobre los datos almacenados en la caché del usuario
- wincache_scache_info() - Recupera información sobre archivos almacenados en el caché de sesión.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open