| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> Java programmering >> Content
    Sådan Find en Java Thread på Runtime
    Kunsten at finde tråde på runtime involverer to Java-klasser , tråd-og ThreadGroup . Derudover skal du huske at navngive din tråd , når du opretter den. Ellers, hvis du ikke navngiver din tråd , er du afhængig af standard navngivning mekanisme for tråde indbygget i Java, og mens du kan være i stand til at gætte, hvad tråden navnet skal være, er der ingen garanti for det vil være det samme navn på tværs alle runtime platforme og Java versioner. Ting du skal
    Java Runtime Environment version 6 eller over
    Vis Flere Instruktioner
    1

    skabe rammerne for et Java-program klasse ved navn " Find ". Bare give en tom main () metode som udgangspunkt.

    Public class Find {

    offentlige static void main ( String args []) {

    }

    }
    2

    Opret en Runnable objekt og tråd , så du har noget at finde. Navngiv tråden " Sleeper " ved at give en andet argument til tråden konstruktør , hvor første argument er Runnable reference. Når du har oprettet tråden, starte det ved at kalde sin start () metode. Følgende kode starter den nu tomme main () metode definition : Hej

    Runnable runner = new Runnable () {

    public void run () {

    try { < br >

    Thread.sleep ( 50000 ),

    } catch ( InterruptedException e ) {

    //ignore

    }

    } < br >

    };

    Thread t = new Thread ( runner " Sleeper ");

    t.start ();
    3

    Find tråden med hjælp af ThreadGroup . Alle gevind tilhører en ThreadGroup . Disse grupper sidder i et træ, hvor alle grupper har en forælder node ( og børn knudepunkter ) , bortset fra roden af ​​træet , som ikke har nogen forælder . Antages tråden for at finde er ikke i den aktuelle tråd s ThreadGroup , gå op til toppen af træet ved at se på koncernens moderselskab . På den måde, når du går for at finde " Sleeper " gevind , vil du vide , at du har fundet det, da alle aktive tråde vil være børn af Overlord forælder tråd.

    Tråd currentThread = Thread.currentThread ( ),

    ThreadGroup gruppe = currentThread.getThreadGroup ();

    while ( group.getParent () = null) {

    gruppe = group.getParent (); ! < br >

    }
    4

    Brug enumerate () metode ThreadGroup at gruppere alle børn tråde denne super forælder. Metoden gemmer de aktive tråde i et array

    int activeCount = group.activeCount (); .

    Tråd activeThreads [ ] = new Thread [ activeCount +5] ;

    int actualCount = group.enumerate ( activeThreads ) - " . Sleeper "
    5

    Brug activeThreads array til hjælpe med at finde den forsvundne tråd her , den ene er mærket Når fundet , skal du bruge dumpStack () metode til at give en stacktrace af gevindet : Hej

    Thread fundet = null ;

    for (int i = 0; i < actualCount , i + +) { < br >

    if ( " Sleeper " er lig ( activeThreads [i] getName () ) . . ) {

    fundet = activeThreads [i ]

    break;
    < p >}

    }

    if ( fundet = null !) {

    found.dumpStack ();

    }
    6 < p> Som det afsluttende linie til din main () -metoden, fortælle systemet at afslutte ud af hukommelsen : Hej

    System.exit (0 )
    7

    kompilere og køre dit program . Mens linjenumre i staksporingen kunne være lidt anderledes baseret på ting som parenteser stil , de alle skal give den samme generelle output

    java.lang.Exception : . Staksporing

    på java . lang.Thread.dumpStack ( Thread.java : 1206)

    på Find.main ( Find.java : 31)

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan ændres NetBeans Font 
    ·Forskelle mellem Java 1.4 & Java 1.5 
    ·Sådan Detect et tastetryk i Java 
    ·Hvad er en Java Bean 
    ·Hvordan man tegner en hund i Java 
    ·Sådan åbner en URL i Java 
    ·Bruger til hashCode i Java 
    ·Sådan installeres Java XP 
    ·Hvordan man kan teste Java Memory Heap Size 
    ·Sådan Konverter en buffer Input Stream til en String 
      Anbefalede Artikler
    ·Sådan Konverter GBA til JAD 
    ·Java Script fejlfinding 
    ·Hvordan man skriver en Queue klasse i C + + 
    ·Hvordan man skriver HTML Forms 
    ·Hvad er Erlang i Python 
    ·Sådan erklære en Array af heltal i Java 
    ·Sådan installeres en IPA fil i en iPhone Simulator 
    ·Sådan fjernes det sidste element på en Ruby Array 
    ·Sådan Medtag en JS fil i JSP 
    ·Sådan Tildel et udtryk til en Label i Visual Basic 
    Copyright © Computer Viden http://www.computerdk.com