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 : DAnalyse : 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 : DAnalyse : 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. VerrouillageB. 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 processusB. bloc de contrôleC. Allouer de la mémoire au processus
D. Allouer un descripteur de fichier au processusRéponse : BC
7. Quelles sont les méthodes courantes de programmation sans verrouillage ? ()
A. Pour les compteurs, vous pouvez utiliser l'addition atomiqueB 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 verrouillageRéponse : D
Analyse : A Bien que cette méthode ne soit pas très bonne, elle est couranteB ProducerConsumerQueue Ça y est,
C est largement utilisé dans le noyau LinuxD 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 ABCCe 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!