3 votes

Comment puis-je synchroniser les événements d'un groupe de canaux dans Netty... ?

Est-il possible de synchroniser tous les événements qui se produisent pour un groupe de canaux dans netty ? J'ai essayé d'y parvenir en utilisant la méthode suivante OrderedMemoryAwareThreadPoolExecutor mais tous les événements ne le sont pas synchronized . Pourriez-vous me suggérer une méthode pour synchronize tous les événements d'un groupe de canaux.

Merci.

1voto

fredrik Points 5858

Je crois que ce que vous voulez s'appelle un Condition en java.

Initialiser avec

final Lock lock = new ReentrantLock();
final Condition cond  = lock.newCondition(); 

Dans toutes les fonctions que vous utilisez, vous devez d'abord verrouiller la serrure et vous assurer que vous pouvez la libérer :

lock.lock();
try {
  // do you stuff...
} finally {
    lock.unlock();//interrupt or not, release lock
}     

Dans tous les endroits où vous voulez attendre vous appelez

cond.await();

Et lorsque toutes les conditions nécessaires pour continuer sont réunies, vous appelez

cond.signal();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X