Avatar billede skra Nybegynder
05. marts 2003 - 11:10 Der er 6 kommentarer og
1 løsning

Kald metode i alle Threads i en ThreadGroup

Hej

Jeg er rimelig ny til det med tråde.

Jeg vil kalde en metode i samtlige threads der er samlet i en threadgroup...

Hvad er den smarteste måde at gøre det på?
Avatar billede magoo20000 Nybegynder
05. marts 2003 - 11:14 #1
Du burde kunne gøre det med denne kode:
class EnumerateTest {
    void listCurrentThreads() {
    ThreadGroup currentGroup = Thread.currentThread().getThreadGroup();
    int numThreads;
    Thread listOfThreads[];

    numThreads = currentGroup.activeCount();
    listOfThreads = new Thread[numThreads];
    currentGroup.enumerate(listOfThreads);
    for (int i = 0; i < numThreads; i++) {
        System.out.println("Thread #" + i + " = " + listOfThreads[i].getName());
    }
    }
}
Avatar billede magoo20000 Nybegynder
05. marts 2003 - 11:18 #2
activeCount() giver antallet af aktive tråde pt.
Avatar billede skra Nybegynder
05. marts 2003 - 11:20 #3
enumerate(Thread[] list):
"Copies into the specified array every active thread in this thread group."

De skriver copies... Skal det tages bogstavligt? Får jeg dobbelt så mange tråde som jeg havde før ved at bruge enumerate()?
Avatar billede magoo20000 Nybegynder
05. marts 2003 - 11:27 #4
Du får et array med referencer til alle aktive tråde i gruppen:-)
Avatar billede skra Nybegynder
05. marts 2003 - 11:29 #5
mange tak så... Bare lidt underligt de så ikek skriver det i dokumentationen ( http://java.sun.com/products/jdk/1.2/docs/api/java/lang/ThreadGroup.html )
Avatar billede magoo20000 Nybegynder
05. marts 2003 - 11:32 #6
Ja, ved threads (i modsætning til ThreadGroup) skriver de godtnok 'copies'... Efter min mening må de mene referencen i ram.
Avatar billede skra Nybegynder
05. marts 2003 - 11:36 #7
Hvis der er nogen der har noget at tilføje til dette vil jeg meget gerne høre det :o), men pointene er gået til magoo2000
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