[Java] Threads enumeraten

Pagina: 1
Acties:

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Hoi,

Ik ben nu bezig met een stukje code die moet checken of een Listener thread draait.

Ik had het idee om de actieve threads te gaan aflopen. En dan te checken of de Listener thread naam daarin voorkomt.
Ik heb hiervoor de volgende code gevonden:
code:
1
2
3
4
5
6
Thread[] ThreadList;
int num = Thread.enumerate(ThreadList);
for (int i = 0; i < num; i++)
{
  System.out.println("THREAD: " + ThreadList[i].getName());
}

Echter nu krijg ik van de compiler de error:
Error #: 553 : variable ThreadList might not have been initialized

Dat lijkt logisch, maar hoe kan ik in godsnaam die Array initialiseren :? Het lijkt mij dat de enumerate functie het initialiseren zou moeten doen.

Als er overigens beter methoden zijn om te checken of een bepaalde thread draait hoor ik het graag ;)

It’s nice to be important but it’s more important to be nice


  • nxt
  • Registratie: November 2001
  • Laatst online: 26-08 13:51

nxt

Thread[] ThreadList=null;

zou volgens mij die foutmelding weg moeten krijgen

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-09 13:30

.oisyn

Moderator Devschuur®

Demotivational Speaker

je moet ook eerst de array alloceren alvorens je m aan de functie doorgeeft

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Los van het feit dat het volgens mij niet mogelijk is om alle Threads in een applicatie te verkrijgen (zonder dit zelf bij te houden) denk ik dat je sowieso beter een andere oplossing kunt kiezen. Waarom bewaar je niet ergens een instantie naar de listener thread of maak je een singleton van de listener thread, die je dan overal kan benaderen?

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Yakkie, het is dus inderdaad wel mogelijk zie ik nu :o .

Goed, dan is het inderdaad mogelijk zo (als je eerst ff een nieuwe array aanmaakt ipv deze alleen de declareren).

Het blijft in ieder geval wel een ranzige oplossing ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • nxt
  • Registratie: November 2001
  • Laatst online: 26-08 13:51

nxt

ik heb dit nog gevonden in ThreadGroup
An application should use the activeCount method to get an estimate of how big the array should be. If the array is too short to hold all the threads, the extra threads are silently ignored.
waaruit ik opmaak dat je eerst de array de gewenste grootte moet geven

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Op vrijdag 07 juni 2002 11:58 schreef mbravenboer het volgende:
Waarom bewaar je niet ergens een instantie naar de listener thread
Dat is helaas niet mogelijk aangezien in een andere applet die listener wordt aangemaakt.
of maak je een singleton van de listener thread, die je dan overal kan benaderen?
Wat is een singleton :?

It’s nice to be important but it’s more important to be nice


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
JonkieXL: Dat is helaas niet mogelijk aangezien in een andere applet die listener wordt aangemaakt.
Mwah, dat levert geen enkel probleem op hoor.
Wat is een singleton :?
Een klasse waar altijd maar 1 instantie van is, die je overal kunt benaderen. Zie:

GoT:
[topic=335821/1/25]
[topic=318466/1/25]

Elders:
http://members.tripod.com/rwald/java/articles/Singleton_in_Java.html
http://developer.java.sun.com/developer/qow/archive/111/

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Thanks voor de tips. Ik zal ze even checken.

It’s nice to be important but it’s more important to be nice

Pagina: 1