J'utilise un design 1producer-1consommer dans mon application en utilisant une SynchronousQueue. À présent, je l'utilise avec le constructeur par défaut (fair = true). Et je m'interroge sur la façon dont "fair = false" affecterait le système (performances et surtout comportement de concurrence).SynchronousQueue fairness
Voici ce que les documents disent:
SynchronousQueue
SynchronousQueue publique()
Creates a SynchronousQueue with nonfair access policy.
SynchronousQueue
SynchronousQueue publique (juste valeur booléenne)
Creates a SynchronousQueue with the specified fairness policy. Parameters: fair - if true, waiting threads contend in FIFO order for
accès; sinon la commande est non spécifiée.
Merci d'avance.
Je suis d'accord que je peux tester pour voir la performance mais qu'en est-il du problème "réduit la variabilité et évite la famine"? Ma conception a seulement 1 producteur et 1 consommateur donc je me demande s'il n'y a aucune différence dans le comportement de concurrence. – ktulur
Je suppose que c'est le scénario, puisque l'équité va dicter comment les threads de consommation sont alloués à la réception de la file d'attente, et vous avez seulement un consommateur. –