Maison  >  Article  >  Java  >  Questions d'entretien multithread Java Questions à choix multiples avec réponses

Questions d'entretien multithread Java Questions à choix multiples avec réponses

(*-*)浩
(*-*)浩original
2019-11-13 14:40:134305parcourir

Questions d'entretien multithread Java Questions à choix multiples avec réponses

1. Le résultat d'exécution du programme suivant () (sélectionnez-en un)

public static void main(String[] args) {
    Thread t=new Thread(){
        public void run(){
            pong();
        }
        };
        t.run();
        System.out.println("ping");
    }
    static void pong(){
    System.out.println("pong");
}

Pingpong

B. pongping

C. Le pingpong et le pongping sont possibles

D. Analyse : Pour démarrer un thread, vous devez appeler la méthode start() et la méthode t.run() utilise le nom de l'objet. Analyse : Pour démarrer un thread, vous devez appeler la méthode start() et le t. La méthode .run() utilise le nom de l'objet.

2. Laquelle des méthodes suivantes peut être utilisée pour créer une classe exécutable ()

A. implémente Runnable{public void run() {……} >

B. la classe publique X étend Thread{public void run() {…}}C. >D. Interface exécutable de classe publique

3. Dans le multithreading Java, veuillez utiliser laquelle des méthodes suivantes ne fera pas entrer le thread dans l'état de blocage ()

A. sleep()

B. Suspend()

C. wait()D. rendement()

Réponse : D

Analyse : le rendement fera entrer le thread dans l'état prêt

4 Concernant sleep() et wait(), la description incorrecte suivante est ()

A . sleep est une méthode de la classe thread (Thread), wait est une méthode de la classe Object

B Sleep ne libère pas le verrou de l'objet, wait abandonne. le verrouillage de l'objet

C. Sleep met le fil en pause, mais surveille l'état. S'il est maintenu, il sera automatiquement restauré après la fin D. pool de verrouillage. Ce n'est qu'après avoir émis la méthode notify pour cet objet qu'il acquerra le verrou de l'objet et entrera dans l'état d'exécution.

Réponse : D

Analyse : Après la méthode de notification pour cet objet, il acquiert le verrou de l'objet et entre dans l'état prêt au lieu de l'état d'exécution. De plus, la méthode notifyAll pour cet objet peut également acquérir le verrou d'objet et entrer dans l'état prêt au lieu de l'état d'exécution

5 Parmi les mécanismes de verrouillage suivants, la sécurité des threads ne peut pas être garantie () <.>

A. Verrouillage

B. Synchronisé

C.

6. Parmi les étapes décrites ci-dessous, les étapes nécessaires pour créer un processus sont ()

A Le planificateur alloue du CPU au processus

B. bloc de contrôle

C. Allouer de la mémoire au processus

D. Allouer un descripteur de fichier au processus

Réponse : BC

7. Quelles sont les méthodes courantes de programmation sans verrouillage ? ()

A. Pour les compteurs, vous pouvez utiliser l'addition atomique

B Avec un seul producteur et un seul consommateur, vous pouvez obtenir un accès sans verrouillage au tampon annulaire (Ring. ) Buffer)

C. RCU (Read-Copy-Update), mécanisme de commutation de copie ancien et nouveau, la libération retardée peut être utilisée pour les anciennes copies

D. ), Tels que la pile sans verrouillage, l'attente de file d'attente sans verrouillage

Réponse : D

Analyse : A Bien que cette méthode ne soit pas très bonne, elle est courante

B ProducerConsumerQueue Ça y est,

C est largement utilisé dans le noyau Linux

D est essentiellement un verrouillage optimiste, qui est très difficile à utiliser. Il est plus courant d’avoir un seul producteur et plusieurs consommateurs ou plusieurs producteurs et un seul consommateur, et il n’est pas facile de rencontrer des problèmes d’ABA.

B ProducerConsumerQueue c'est ça, il est partout

C est largement utilisé dans le noyau Linux

D est essentiellement un verrouillage optimiste, qui est très difficile à utiliser. . C'est plus fréquent dans le cas d'un seul producteur et de plusieurs consommateurs ou de plusieurs producteurs et d'un seul consommateur, et il n'est pas facile de rencontrer le problème ABC

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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