Identificar cuellos de botella de hebras |
Esta guía de aprendizaje muestra cómo identificar cuellos de botella de hebras, incluyendo puntos muertos y contiendas en una aplicación Java. Un cuello de botella es una condición por la que dos hebras de control independientes están bloqueadas, cada una esperando a que la otra lleve a cabo alguna acción. Dos hebras esperándose la una a la otra pueden llevar una aplicación o parte de ella a detenerse completamente. Una contienda de hebra (o condiciones de carrera) se produce cuando una hebra está esperando un bloqueo o un recurso mantenido por otra hebra. Los programadores a menudo añaden mecanismos de sincronización par evitar estas contiendas, pero es posible que la misma sincronización pueda llevar a puntos muertos. ![]() |
![]() |