2018年12月25日

2018年12月25日

Ou met le thread actuel dans`attente sets`? Cela ressemble à une situation pour le modèle producteur-consommateur. Explication très lucide. Fil. Si le thread notifiant obtenir le verrou d`abord, son appel de notification sera ignoré et d`autres threads seront toujours en attente. Plus particulièrement, les threads qui traitent les données peuvent être pensés comme des consommateurs; ils consomment les données produites par d`autres threads. Cela dépend de nombreux facteurs. Élément (nouveau Java. Pouvez-vous également s`il vous plaît expliquer l`utilisation des méthodes de condition à la place de Wait (), Notify () et notifyAll ()? Étant donné que nous ne pouvons pas contrôler quel thread obtient la notification, il est tout à fait possible qu`une notification réveille un thread qui attend une condition entièrement différente. Il n`existe aucun moyen de déterminer, même sur une plate-forme de processeur unique, qui de plusieurs threads reçoit la notification. La sortie ci-dessus est également une sortie valide.

Élément (message); message de retour; }} la classe consommateur étend le thread {producteur producteur; Consommateur (producteur p) {producteur = p;} @Override public void Run () {Try {while (true) {String message = Producer. Pour votre question, un consommateur consomme en effet uniquement l`élément @location zéro à chaque fois, et c`est aussi le sens de First Out pour une file d`attente. Cette méthode doit être appelée uniquement par un thread qui est le propriétaire du moniteur de cet objet. Les programmeurs qui utilisent des classes d`accès concurrentiel se sentiront beaucoup plus confiants que les programmeurs traitant directement les commandes de synchronisation à l`aide des appels de méthode Wait (), Notify () et notifyAll (). Qu`est-ce qui se serait passé si j`arrive si j`utilise “Wait ()” ou “notifyAll ()” seulement, quand je l`ai essayé, j`ai obtenu ce que la sortie après l`exécution pendant un certain temps. S`il vous plaît laissez-moi savoir. Else chaque fois que seul l`élément @ location zéro sera consommé uniquement. Classe de threads. Alors, pouvez-vous m`aider avec ça. File d`attente (qui est transmis à partir de la méthode static void main ()) dans la classe. Solde (); public notifier (balance BAL) {This. De cette façon, vous pouvez optimiser le travail en fonction du nombre de cœurs, et vous utilisez les outils de filetage Java de niveau supérieur (ce qui devrait rendre la vie plus facile).

StackTrace (); Système. Notez que le thread serveur est propriétaire moniteur sur l`objet message en utilisant le bloc synchronisé. J`ai raison? La section critique (bloc synchronisé) est tout simplement trop grande, et au moment où le bloc se termine, il se répète immédiatement et donc le même thread est susceptible de réacquérir le verrou immédiatement, donc les longues chaînes de production et de consommation, sans beaucoup Entrelacement. Alive)//l`un d`eux est vivant et l`autre a fini MSG. Thread (). Dans l`exécution, le thread qui reçoit réellement la notification varie en fonction de plusieurs facteurs, y compris l`implémentation de la machine virtuelle Java et les problèmes de planification et de synchronisation lors de l`exécution du programme.

コメント