Seguridad a fondo · Unidad 21 · Lección 2 de 6
Los objetos tienen una vida
Usa la secuencia de un trabajo para distinguir una referencia guardada de un objeto vigente.
Para prepararteSeguridad de memoria: límites y vida útil
Después de esta lección puedes
- Identifica la garantía de propiedad que falta en la secuencia de un trabajo asíncrono.
Una idea. Una situación. Una decisión razonada.
Cómo funciona
Una referencia sirve mientras el objeto sea válido para la operación. Propiedad y reglas de ciclo evitan usar objetos liberados o reutilizados. La concurrencia complica esto si otro trabajador cambia su vida. Prefiere mecanismos del lenguaje y bibliotecas que expresen propiedad, no acuerdos informales entre código distante.
Un trabajo en cola puede durar más que su entrada
Un servicio ficticio de previsualización de imágenes entrega tareas a una cola. En este ejemplo, la cola guarda una referencia sin prolongar la vida del objeto original.
| Evento | Acción registrada |
|---|---|
| L1 | La petición crea el objeto de imagen P |
| L2 | El trabajo encola una referencia a P |
| L3 | La petición termina y libera P |
| L4 | El trabajo de previsualización comienza |
Decisión razonada: el trabajo no puede dar por válido P en L4. L2 registra una ubicación, pero el contrato de esta cola no le concede propiedad. Aunque esa ubicación todavía contenga bytes reconocibles, observarlos no restablece la vida del objeto liberado.
Dos diseños podrían cumplir el requisito: entregar al trabajo una copia propia antes de L3, o usar un mecanismo de propiedad documentado que mantenga P vigente hasta terminar el trabajo. Acelerar la cola no garantiza ninguna de esas condiciones.
Separa un segundo requisito: si varios trabajadores pueden modificar el objeto retenido, garantizar su vida no evita por sí solo las actualizaciones en conflicto. El diseño también debe definir sincronización o inmutabilidad. Revisa ambas obligaciones según el contrato real del lenguaje y la biblioteca; no supongas que todas las referencias se comportan igual.
La distinción clave: Ubicación y vida son propiedades distintas.
Compruébate
Sin reloj ni penalizaciones. Lee cada explicación y vuelve a intentarlo cuando quieras.
Las preguntas de esta lección han cambiado. Tu lectura sigue guardada; repasa las preguntas actualizadas.
-
¿Qué cambio resuelve directamente el problema de vida del objeto en L1-L4?
Ver la respuesta
Respuesta correcta: Dar al trabajo una copia propia o un propietario que prolongue la vida antes de terminar la petición. Ambos diseños pueden mantener datos válidos según su contrato documentado. La modificación concurrente sigue necesitando una regla independiente.
Pruébalo
- EscribeEscribe un orden corregido para L1-L4 usando una copia propia o un propietario compartido documentado. Indica cuándo puede liberar el objeto su último propietario.