PHP session_start serializa y bloquea a todos los demás que comparten la misma sesión

la sesión debe estar sincronizada. CuandoA escribe / guarda ensession B oanother A se pone en espera. Que es una necesidad para el manejo de sesiones basado en archivos.

Pero una vezA ha cargado la sesión (pero ahora ha guardado sus modificaciones)B También se debe permitir cargar la misma sesión. porque la carga abrirá el archivo y traerá el contenido del archivo a la memoria y se cerrará.

¿Hay alguna razón para bloquear todos los demás scripts durante todo el tiempo?A carga de sesión yA guarda la sesion ¿No se puede hacer la sincronización solo con guardar controlador?

Por lo tanto, dos scripts PHP nunca pueden funcionar simultáneamente si comparten la misma sesión.

por ejemploseslock.php

<?php
header('Content-Type: text/plain');
session_start();
if(isset($_GET['wait'])){
    sleep(30);
    echo "waiting\n";   
}else{
    echo "No Waiting\n";
}
?>
done

visitarseslock.php responderá inmediatamente peroseslock.php?wait Tardará 30 segundos en responder. Pero el problema es si pidesseslock.php?wait primero y unicoseslock.php segundo. evento elnon-sleep bloque le pedirá que espere 30 segundos también.

Por qué el bloqueo no es mi pregunta. Estoy preguntando porque bloqueastart to save ? en lugar de bloquearonly save ?

Respuestas a la pregunta(2)

Su respuesta a la pregunta