Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Πώς να πάρει μια αναφορά σε Java Thread

Τρέξιμο κώδικα Java κάτω από τα θέματα που είναι ένας ισχυρός τρόπος για να γίνει πολλά σε σύντομο χρονικό διάστημα . Για να παρακολουθούν και να ελέγχουν τα νήματα , θα πρέπει να δημιουργήσει ένα αντικείμενο νήμα συνδέεται με το νήμα -enabled κωδικό σας . Αυτό σας δίνει τον πλήρη έλεγχο πάνω από τα θέματα που έχετε δημιουργήσει . Τα πράγματα που θα χρειαστείτε
Java πρόγραμμα με εκτελέσιμη θέματα στον κώδικα
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Αποκτήστε το αναγνωριστικό νήματος με την εντολή αυτή στο εσωτερικό της υποχρεωτικής run () λειτουργία που εκτελεί το νήμα σας : .

Thread.currentThread ( ) getId ( ) 2

Εκχώρηση το αντικείμενο νήμα σε μια δημόσια μεταβλητή , αν πρέπει να ελέγχουν το νήμα από τα άλλα μέρη του προγράμματος , ή να εκτυπώσετε άμεσα, αν απλά θέλετε να ξέρετε τι τρέχει :

public int myThreadId = 0 ?

public void run () { System.out.println

( «Νήμα όνομα : " . . + Thread.currentThread ( ) getName ( ) ? //εκτύπωση του ονόματος νήμα

myThreadId = Thread.currentThread ( ) getId ( ) ? //Εκχώρηση το αναγνωριστικό νήματος για το δημόσιο μεταβλητή

}
εικόνων 3

Δημιουργήστε ένα νέο αντικείμενο νήμα για να ελέγξει ή να παρακολουθήσει ένα νήμα από τα άλλα μέρη του προγράμματος . Μπορείτε επίσης να πάρετε το αντικείμενο από ένα εξωτερικό σπείρωμα , . όπως η κύρια διαδικασία , με την οικοδόμηση μιας πλήρες δέντρο των νημάτων που εκτελούνται και τις ομάδες νήμα Κλήση αυτό από τη συνάρτηση main () της κλάσης Java σας :

//Περπατήστε κάτω από το δέντρο για να βρείτε την ομάδα root

ThreadGroup myRootGroup = Thread.currentThread ( ) getThreadGroup ()? .

ThreadGroup parentGroup ?

ενώ ( ! ( parentGroup = myRootGroup.getParent ( ) ) = null) {

rootGroup = parentGroup ?

}

//Περπατήστε πίσω επάνω από τη ρίζα , δημιουργώντας ένα αντικείμενο Thread για κάθε νήμα στη διαδικασία σας

Κλωστές [ ] myThreads = new Thread [ myRootGroup.activeCount ( ) ] ?

ενώ ( rootGroup.enumerate ( myThreads , αλήθεια ) == myThreads.length ) {

myThreads = νέο θέμα [ myThreads.length * 2 ] ?

}

τώρα μπορείτε να έχετε πρόσβαση σε κάθε νήμα στη διαδικασία σας ένα προς ένα Για παράδειγμα :

System.out.println ( " Θέματος Όνομα : " + myThreads . . . [ 0 ] currentThread ( ) getName ()? . .

myThreadId = myThreads [ 0 ] currentThread ( ) getId ( ) ?
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα