Releases a permit, returning it to the semaphore.
Releases a permit, increasing the semaphore's available permits by one. If any parties are waiting to acquire a permit, then the party which has been waiting the longest is selected and given this permit.
There is not requirement that a party that releases a permit must have first acquired that permit by calling {@link #acquire()}. This allows parties which have not acquired a specific permit to release a specific permit. However, calling this method without having acquired a permit previously may have dangerous consequences, and is discouraged.