Avatar billede casualty Nybegynder
19. februar 2004 - 16:36 Der er 7 kommentarer og
1 løsning

Hvordan returnerer jeg noget fra en trådet klasse

Hvis nu jeg har en metode:

public void noget()
{
  Thread t = new Thread(new TraadKlasse).start();
  return?????
}

Og en trådklasse :

public void run()
{
  while(etellerandet)
  {
    //Når et kriterie er opfyldt
    //så stop og returner...
  }
}

Hvordan for man trådklassen til at stoppe og returnere noget lige så snart den er færdig med de ønskede operationer?

Mvh Casualty
Avatar billede casualty Nybegynder
19. februar 2004 - 16:39 #1
Jeg prøver at forklare mig lidt bedre... Normalt kan man lave en metode der kalder en anden metode, der søger efter noget i en LinkedList. Når den sidste metode har fundet det den søger kan man bare få den til at returnere. Men hvis nu jeg gerne vil køre søgningen i en tråd..???.Jeg mister jo ligesom kontakten med tråden når jeg siger start().... Man kan jo ikke returnere noget fra run()...
Avatar billede arne_v Ekspert
19. februar 2004 - 16:39 #2
Du smider en reference til "noget" over i konstruktoren til den klasse, lader
konstruktoren gemme den reference i en instans variabel og
så lader du run kalde en metode på "noget", når den er færdig.
Avatar billede casualty Nybegynder
19. februar 2004 - 18:21 #3
Det tænkte jeg også på. Problemet er at jeg gerne vil lave ét motodekald der returnerer udfaldet af en søgning i en graf. Grunden til at jeg vil tråde det hele er at jeg gerne vil lave to søgninger der starter i hver sin ende af grafen. Jeg ønsker ikke at metoden skal returnere før end søgninger er færdig.
Avatar billede casualty Nybegynder
19. februar 2004 - 18:22 #4
Begge søgninger skal finde ingenting eller den ene skal finde noget og afbryde den anden, hvorefter metoden returnerer.
Avatar billede casualty Nybegynder
19. februar 2004 - 18:24 #5
Kan det mon egentlig betale sig at synkronisere de to søgninger ?
Avatar billede arne_v Ekspert
19. februar 2004 - 18:26 #6
Du kunne lade main thread wait'e og så lade den tråd der er færdig notify og
main thread så somn det første interrupter de to kørende tråde.

Som altid med wait & notify: be carefull
Avatar billede arne_v Ekspert
06. marts 2004 - 15:35 #7
OK ?
Avatar billede casualty Nybegynder
06. marts 2004 - 17:35 #8
Ja..det var helt fint..Tak for det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester