Maison Java javaDidacticiel Java:使用匿名内部类在方法内部定义并启动线程

Java:使用匿名内部类在方法内部定义并启动线程

Dec 15, 2016 pm 01:17 PM
classe interne anonyme

下面的代码展示了在一个方法中,通过匿名内部类定义一个Thread,并Override它的run()方法,之后直接启动该线程。

这样的代码可用于在一个类内部通过另起线程来执行一个支线任务,一般这样的任务并不是该类的主要设计内容。

package com.zj.concurrency;
 
public class StartFromMethod {
    private Thread t;
    private int number;
    private int count = 1;
 
    public StartFromMethod(int number) {
       this.number = number;
    }
 
    public void runTask() {
       if (t == null) {
           t = new Thread() {
              public void run() {
                  while (true) {
                     System.out.println("Thread-" + number + " run " + count
                            + " time(s)");
                     if (++count == 3)
                         return;
                  }
              }
           };
           t.start();
       }
    }
 
    public static void main(String[] args) {
       for (int i = 0; i < 5; i++)
           new StartFromMethod(i).runTask();
    }
}
Copier après la connexion

结果:

Thread-0 run 1 time(s)

Thread-0 run 2 time(s)

Thread-1 run 1 time(s)

Thread-1 run 2 time(s)

Thread-2 run 1 time(s)

Thread-2 run 2 time(s)

Thread-3 run 1 time(s)

Thread-3 run 2 time(s)

Thread-4 run 1 time(s)

Thread-4 run 2 time(s)


更多Java:使用匿名内部类在方法内部定义并启动线程相关文章请关注PHP中文网!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment la classe interne anonyme Java résout-elle le problème de fuite de mémoire ? Comment la classe interne anonyme Java résout-elle le problème de fuite de mémoire ? May 01, 2024 pm 10:30 PM

Les classes internes anonymes peuvent provoquer des fuites de mémoire. Le problème est qu'elles contiennent une référence à la classe externe, empêchant ainsi la classe externe d'être récupérée. Les solutions incluent : 1. Utiliser des références faibles. Lorsque la classe externe n'est plus détenue par une référence forte, le garbage collector recyclera immédiatement l'objet de référence faible ; 2. Utiliser des références logicielles lorsqu'il sera utilisé. a besoin de mémoire pendant le garbage collection. Ce n'est qu'alors que l'objet de référence logiciel est recyclé. En combat réel, comme dans les applications Android, le problème de fuite de mémoire provoqué par des classes internes anonymes peut être résolu en utilisant des références faibles, de sorte que la classe interne anonyme puisse être recyclée lorsque l'écouteur n'est pas nécessaire.

Quels sont les modèles de conception des classes internes anonymes en Java ? Quels sont les modèles de conception des classes internes anonymes en Java ? May 02, 2024 pm 04:42 PM

Les classes internes anonymes sont des classes internes spéciales en Java qui n'ont pas de nom explicite et sont créées via la nouvelle expression. Elles sont principalement utilisées pour implémenter des interfaces spécifiques ou étendre des classes abstraites et sont utilisées immédiatement après la création. Les modèles de conception de classe interne anonymes courants incluent : Modèle d’adaptateur : convertit une interface en une autre interface. Modèle de stratégie : définition et algorithmes de remplacement. Modèle d'observateur : enregistrez les observateurs et gérez les événements. C'est très utile dans des applications pratiques, telles que le tri d'un TreeSet par longueur de chaîne, la création de threads anonymes, etc.

Quels sont les avantages des classes internes anonymes en Java ? Quels sont les avantages des classes internes anonymes en Java ? Apr 30, 2024 am 11:39 AM

Les classes internes anonymes sont utilisées en Java en tant que classes internes spéciales qui facilitent le sous-classement, la simplification du code et la gestion des événements (tels que les clics sur des boutons). Les cas pratiques incluent : Gestion des événements : utilisez des classes internes anonymes pour ajouter des écouteurs d'événements de clic pour les boutons. Transformation des données : triez les collections à l'aide de la méthode Collections.sort et d'une classe interne anonyme comme comparateur.

Dans quels scénarios les classes internes anonymes Java ne conviennent-elles pas ? Dans quels scénarios les classes internes anonymes Java ne conviennent-elles pas ? May 03, 2024 pm 05:42 PM

Les classes internes anonymes ne conviennent pas lorsque : besoin d'accéder à des membres privés, besoin de plusieurs instances, besoin d'héritage, besoin d'accéder à des types génériques

Quelles sont les erreurs courantes liées aux classes internes anonymes en Java ? Quelles sont les erreurs courantes liées aux classes internes anonymes en Java ? May 02, 2024 am 09:03 AM

Erreur d'utilisation de classe interne anonyme : accès à une variable hors de portée en interceptant une exception non déclarée dans un environnement non thread-safe

Comment optimiser les performances des classes internes anonymes Java ? Comment optimiser les performances des classes internes anonymes Java ? May 02, 2024 am 08:48 AM

Le problème de performances des classes internes anonymes est qu'elles sont recréées à chaque fois qu'elles sont utilisées, ce qui peut être optimisé grâce aux stratégies suivantes : 1. Stocker les classes internes anonymes dans des variables locales 2. Utiliser des classes internes non statiques 3. Utiliser lambda ; expressions. Des tests pratiques montrent que l'optimisation de l'expression lambda a le meilleur effet.

Quel est le cycle de vie des classes internes anonymes Java ? Quel est le cycle de vie des classes internes anonymes Java ? May 01, 2024 pm 04:06 PM

La durée de vie d'une classe interne anonyme est déterminée par sa portée : Classe interne locale à la méthode : valide uniquement dans la portée de la méthode qui l'a créée. Classe interne du constructeur : liée à l'instance de classe externe et libérée lorsque l'instance de classe externe est libérée. Classes internes statiques : chargées et déchargées en même temps que les classes externes.

Comment les classes internes anonymes Java s'appliquent-elles aux threads ? Comment les classes internes anonymes Java s'appliquent-elles aux threads ? May 02, 2024 pm 01:57 PM

Les classes internes anonymes simplifient la création de code multithread, éliminant le besoin de nommer et permettant la définition et l'utilisation instantanées des classes de thread. Le principal avantage est de simplifier le code, tandis que la limitation est qu'il ne peut pas être étendu. À utiliser lorsque vous devez créer rapidement un ou deux threads. Gardez le code court. Si une logique plus complexe est requise, un fichier de classe distinct doit être créé.

See all articles