Estoy leyendo el libro Java Concurrency in Practice. En una sección sobre java.util.concurrent.Semaphore
, las siguientes líneas están presentes en el libro. Es un comentario sobre su aplicación del "permiso virtual" objetos¿Cómo y por qué un Semáforo puede otorgar más permisos de los que se inicializaron?
La aplicación no tiene objetos de permisos reales, y
Semaphore
no no asocia los permisos prescindido de hilos, por lo que un permiso adquirió en un hilo puede ser liberado de otro hilo. Puede pensar enacquire
como consumir un permiso yrelease
como crear uno; aSemaphore
no se limita al número de permisos con los que se creó.
¿Alguien puede explicar esto? Estoy teniendo problemas para entender esto. Si creamos un grupo de tamaño fijo, creamos un número fijo de "permisos". De la declaración anterior, parece que los "permisos" pueden seguir creciendo. ¿Por qué está diseñado de esta manera?
parece que solo frase ornamentada – gstackoverflow