Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Java Programming >> Content
    Hvordan finne en Java tråden på Runtime
    Kunsten å finne trådene under kjøring involverer to Java-klasser , tråd og ThreadGroup . I tillegg må du huske å nevne din tråd når du oppretter den . Ellers, hvis du ikke nevne din tråd , er du avhengig av standard navngiving mekanismen for tråder innebygd i Java , og mens du kan være i stand til å gjette hva tråden navnet skal være , er det ingen garanti for det vil være det samme navn på tvers alle runtime plattformer og Java- versjoner. Du trenger
    Java Runtime Environment versjon 6 eller nyere
    Vis flere instruksjoner
    en

    Lag rammene for et Java-program klasse som heter " Finn ". Bare gi en tom main ( )-metoden som utgangspunkt .

    Public class Finn {

    public static void main ( String args [ ] ) {

    }

    }
    2

    Lag et kjørbart objekt og tråd , slik at du har noe å finne. Navngi tråden " Sleeper " ved å gi en andre argumentet til tråden konstruktør , der det første argumentet er kjørbart referanse. Når du har opprettet tråden , starter du den ved å ringe sin start ( )-metoden . Følgende kode starter den tomme main ( )-metoden definisjon : en

    kjørbart runner = ny kjørbart ( ) {

    public void run () {

    prøve {

    Thread.sleep ( 50000 ) ;

    } catch ( InterruptedException e ) {

    //ignore

    }

    }

    };

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

    t.start ();
    3

    Finn tråden med hjelp av ThreadGroup . Alle trådene tilhører en ThreadGroup . Disse gruppene sitter i et tre hvor alle grupper har en forelder node (og barn noder ), bortsett fra roten av treet , som ikke har noen av foreldrene . Forutsatt tråden å finne er ikke i den aktuelle tråden er ThreadGroup , gå opp til toppen av treet ved å se på konsernspiss . På den måten når du går for å finne den " Sleeper " tråden, vet du at du har funnet det siden alle aktive tråder vil være barn av Overlord forelder tråden.

    Thread currentThread = Thread.currentThread ( ) ;

    ThreadGroup gruppe = currentThread.getThreadGroup ();

    while ( group.getParent ( ) = null ) {

    gruppe = group.getParent (); !

    }
    4

    Bruk nummerere ( )-metoden for ThreadGroup å gruppere alle barn tråder av denne super forelder. Metoden lagrer de aktive trådene i en matrise

    int activeCount = group.activeCount (); .

    Thread activeThreads [ ] = new Thread [ activeCount 5 ];

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

    Bruk activeThreads array å bidra til å finne den savnede tråden her , den som er merket Når funnet , bruker dumpStack ()-metoden for å gi en stacktrace av tråden : en

    Thread funnet = null;

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

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

    funnet = activeThreads [i ];

    pause,
    < p > }

    }

    if ( funnet = null ! ) {

    found.dumpStack ();

    }
    6 < p> Som den avsluttende linje i main ( )-metoden , forteller at systemet skal gå ut av minne : en

    System.exit ( 0 ) ;
    7

    Kompiler og kjør programmet . Mens linjenummer i stakksporingen kan være litt annerledes basert på ting som parenteser stil, de alle bør gi den samme generelle utgang

    java.lang.Exception : . Stack Trace

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

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

    früher :

     Weiter:
      Relatert Artike
    ·Slik kopierer du en fil i Jsp 
    ·Hvordan beregne tid ved hjelp av Java 
    ·Slik konverterer en ByteArray OutputStream til en Input…
    ·Hvordan sende SMS med javamail 
    ·Java Tutorial for Kopier og lim 
    ·Enkel forklaring av Java Applets 
    ·Hvordan bruke FileFilter i Java 
    ·Hvordan legge til rader i JTable 
    ·Hvordan Les CLOBs i Java 
    ·Slik installerer du et Java Bypass Admin Start 
      Anbefalte artikler
    ·Hvordan kopiere og lime en webside til en annen nettsid…
    ·Hva er Py Kompiler 
    ·Hvordan slå en Java-kildekoden i et flytskjema 
    ·Hvordan lage Visual Basic Applications for å Varier st…
    ·Hvordan oppdatere PEAR Med Fedora 
    ·Hvordan lage en Keygen i VB6 
    ·Beskrivelse av C System Function 
    ·Slik kjører PowerShell Scripts fra kommandolinjen 
    ·Hvordan lage en JPEG bruke Visual Basic 2010 Express & …
    ·Slik konverterer en binær fil til en Byte String i Vis…
    Copyright ©  Datamaskin  http://www.datamaskin.biz/