javapns/src/main/java/javapns/notification/transmission/NotificationThreads.java
/**
	 * Worker threads invoke this method as soon as they have completed their work.
	 * This method tracks the number of threads still running, allowing us
	 * to detect when ALL threads have finished.
	 * 
	 * When all threads are done working, this method fires an AllThreadsFinished
	 * event to the attached listener (if one is present) and wakes up any
	 * object that is waiting for the waitForAllThreads() method to return.
	 * 
	 * @param notificationThread
	 */
Worker threads invoke this method as soon as they have completed their work.
This method tracks the number of threads still running, allowing us
to detect when ALL threads have finished.

When all threads are done working, this method fires an AllThreadsFinished
event to the attached listener (if one is present) and wakes up any
object that is waiting for the waitForAllThreads() method to return.

@param notificationThread
Worker threads invoke this method as soon as they have completed their work . This method tracks the number of threads still running allowing us to detect when ALL threads have finished . When all threads are done working this method fires an AllThreadsFinished event to the attached listener ( if one is present ) and wakes up any object that is waiting for the waitForAllThreads () method to return . @param notificationThread
protected void threadFinished(NotificationThread notificationThread) {
		threadsRunning--;
		if (threadsRunning == 0) {
			if (listener != null) listener.eventAllThreadsFinished(this);
			try {
				synchronized (finishPoint) {
					finishPoint.notifyAll();
				}
			} catch (Exception e) {
			}
		}
	}
protected void threadFinished ( NotificationThread notificationThread ) { threadsRunning -- ; if ( threadsRunning == 0 ) { if ( listener != null ) listener . eventAllThreadsFinished ( this ) ; try { synchronized ( finishPoint ) { finishPoint . notifyAll ( ) ; } } catch ( Exception e ) { } } }
Worker threads invoke this method as soon as they have completed their work.
Worker threads invoke this method as soon as they have completed their work .