Inhoudsopgave:

Hoe communiceren threads met elkaar?
Hoe communiceren threads met elkaar?

Video: Hoe communiceren threads met elkaar?

Video: Hoe communiceren threads met elkaar?
Video: FANG Interview Question | Process vs Thread 2024, November
Anonim

Er zijn drie manieren om draden tot communiceer met elkaar . De eerste is via algemeen gedeelde gegevens. Al de draden in hetzelfde programma dezelfde geheugenruimte delen. Als een object toegankelijk is voor verschillende draden dan deze draden toegang delen tot het gegevenslid van dat object en dus communiceren met elkaar.

Mensen vragen ook: hoe communiceer je tussen twee threads?

Het proces van communicatie tussen threads begrijpen

  1. Threads komen binnen om lock te verkrijgen.
  2. Lock wordt verkregen door op draad.
  3. Nu gaat de thread naar de wachtstatus als u de methode wait() op het object aanroept.
  4. Als u de methode melding() of meldingAll() aanroept, wordt de thread verplaatst naar de status aangemeld (uitvoerbare status).

Ten tweede, wat is de wachtmethode in de thread? Simpel gezegd, wacht () is een instantie methode dat wordt gebruikt voor draad synchronisatie. Het kan op elk object worden aangeroepen, omdat het in Java is gedefinieerd. lang. Object, maar het kan alleen worden aangeroepen vanuit een gesynchroniseerd blok. Het ontgrendelt het slot op het object, zodat een ander draad kan erin springen en een slot krijgen.

Bovendien, hoe bereik je onderlinge communicatie?

Communicatie tussen threads in Java

  1. wait () - Het vertelt de aanroepende thread om de vergrendeling op te geven en te gaan slapen totdat een andere thread dezelfde monitor binnenkomt en notificatie () aanroept.
  2. notificeer () -Het wekt een enkele thread die wait() op hetzelfde object aanroept.
  3. notifyAll() -Het wekt alle threads die wait() hebben aangeroepen voor hetzelfde object.

Hoe gebruik je wachten en informeren in Java-threads?

Wanneer gesynchroniseerd(this) wordt gebruikt, moet u voorkomen dat de aanroepingen van de methoden van andere objecten worden gesynchroniseerd. wacht () vertelt de roeping draad om de monitor op te geven en te gaan slapen tot een ander draad gaat dezelfde monitor binnen en belt op de hoogte stellen (). op de hoogte stellen () wordt de eerste wakker draad dat riep wacht () op hetzelfde object.

Aanbevolen: