Retrouver les bases de Java (17) : Résumé sur le multi-threading
Reprendre les bases de Java (Seventeen) : Résumé sur le multi-threading
Processus
1 . ctrl shift esc Fenêtre du gestionnaire de tâches 2. Les programmes s'exécutent dans l'environnement du système d'exploitation et nécessitent des ressources CPU et mémoire À partir du moment où le programme commence à s'exécuter jusqu'à sa fermeture, ce processus est appelé processus 3. Le processus est unique. au système d'exploitation La notion de processus = programme en cours d'exécution 4. Un programme en cours d'exécution correspond à au moins un processus 5. Certains programmes adopteront une conception d'architecture multi-processus 7. Les processus sont indépendants les uns des autres et ne peuvent pas accéder les uns aux autres ni partager des ressources
2. Thread
1. Programme-Process Factory 2. La ligne de production dans l'usine est appelée un thread 3. Un processus contient des threads, et un thread est une unité d'exécution indépendante plus petite 4. Un processus peut contenir un thread (monothread) ou plusieurs threads (multi-thread) 5. QQ est un programme (processus) et chaque fenêtre de discussion ouverte est un thread 6. Quoi Nous avons écrit auparavant. Les programmes sont tous monothread et la JVM traitera automatiquement la méthode principale comme un thread (ligne de production) pour l'exécution. 7. Les threads ne peuvent pas s'exécuter indépendamment et ne peuvent pas être exécutés en dehors du processus. ressources du processus. 8. Les threads sont indépendants
3. Programmation multithread
1. Les programmes que nous avons écrits auparavant étaient tous monothread. , et la JVM traitera automatiquement la méthode principale comme un thread (ligne de production) pour exécuter 2. Il existe deux fonctions A/B dans un programme Si une programmation multithread est utilisée, la fonction A peut être exécutée dans un seul thread (production). ligne), et la fonction B peut être exécutée dans un seul thread (ligne de production). 3. Télécharger des images a. Téléchargez plusieurs images en même temps 4. Le multithread utilise en outre les ressources du processeur et de la mémoire, améliorant ainsi l'efficacité d'exécution du programme 5. Factory Thunder
4. CPU et multithreading
1. en même temps ? Le cerveau bascule entre l'écriture et le visionnage de films 2. Les films sont très rapides et le cerveau créera des illusions 3. La véritable "simultanéité" n'existe pas, le processeur est extrêmement rapide, à tour de rôle et aléatoirement entre plusieurs threads Switch
5. Java prend en charge le multi-threading
1 Il existe deux types de threads en Java : User Thread (thread utilisateur) et Daemon Thread (thread démon) ou. fil de service en arrière-plan). Le rôle du thread démon est de fournir des services pour l'exécution d'autres threads, tels que les threads GC. 2. Méthode 1 : Hériter de la classe Thread Méthode 2 : Implémenter l'interface Runnable
6. Méthode 1
1. Les classes que nous avons définies auparavant sont toutes classes ordinaires, car les codes de ces classes ne peuvent pas être exécutés en même temps, ces classes ne sont pas des classes de ligne de production 2. Java fournit spécifiquement une classe de ligne de production : classe java.lang.Thread, le code de cette classe peut être exécuté à en même temps 3. Étapes : La classe personnalisée hérite de la classe Thread et la classe que nous définissons devient la classe de ligne de production. Réécrivez la méthode d'exécution dans la classe personnalisée et mettez le code qui doit être exécuté en même temps. dans la méthode run. Dans la méthode principale, créez d'abord la ligne de production, puis démarrez la ligne de production start()
7. Classe de thread
public long getId() pour obtenir le numéro de thread (ID de thread), qui est utilisé lors de la création du thread généré. Les ID de fil de discussion sont uniques et restent inchangés à vie. public final void setName(String name), nommez le thread Si vous ne le nommez pas, il y en aura un par défaut : Thread-0, Thread-1... public final String getName(), get. le nom du thread public void start() , provoquant le démarrage de l'exécution du thread, et la JVM appellera automatiquement la méthode run() du thread. public static void sleep (long millis), laissez le thread dormir (pause) pendant combien de millisecondes public static Thread currentThread(), obtenez une référence à l'objet thread en cours d'exécution. (La méthode 2 sera utilisée)
8. Processus d'exécution multithread
1 La première chose que la JVM trouve est la méthode principale et la méthode principale. Le code est exécuté dans un thread, appelé thread principal 2. De plus, le thread créé manuellement peut être appelé thread enfant 3. Le programme doit attendre que tous les threads aient fini de s'exécuter avant de se terminer
9. Méthode 2
1. Inconvénients : Après avoir hérité de la classe Thread dans la méthode 1, vous ne pouvez pas hériter d'autres classes. Avantages : Simple et facile à mettre en œuvre. a. Nous personnalisons La classe implémente l'interface java.lang.Runnable b. Mettez le code qui doit être exécuté simultanément dans la méthode d'exécution c. Créez une ligne de production (Thread) dans main et démarrez-la 3. La méthode 2 n'a pas. les inconvénients de la méthode 1, mais est plus compliquée que la méthode 1
10. Problèmes de sécurité des threads,
1 Dans quelles circonstances y aura-t-il une sécurité des threads. problèmes? a. Plusieurs threads sont indépendants les uns des autres b. Plusieurs threads fonctionnent ou utilisent des ressources partagées 2. Plusieurs threads exploitent la même ressource partagée, mais les threads sont indépendants les uns des autres et n'ont aucun contact les uns avec les autres, il y aura donc des situations. où les données ne sont pas mises à jour de manière synchrone, ce qui est un problème de sécurité des threads 3. Cas de vente de billets de train Code à exécuter en même temps : Vendre 10 billets de train Ressources partagées : 10 billets de train Existent généralement sous forme d'attributs
11. Comment résoudre les problèmes de sécurité des fils
1. Idée : entrez dans les toilettes du train une par une... 2. Verrouillage de synchronisation, le terme professionnel est surveillance Monitor3. . Java construit automatiquement un moniteur dans chaque objet. Les verrous sont partout 4. Il existe deux façons de l'implémenter : Bloc de code de synchronisation Méthode de synchronisation
12. Bloc de code de synchronisation
1. Analysez d'abord quel code doit être verrouillé 2. synchronisé(verrouillage){ }3 Le verrou utilisé entre plusieurs threads doit être le même verrou
13. method
1. Mettez d'abord le code qui doit être verrouillé dans une méthode 2. Transformez la méthode en méthode de synchronisation public synchronisé void sell(){ Opération Le code qui partage les données est le code qui doit être synchronisé ;} 3. Le verrouillage de la méthode de synchronisation est celui-ci par défaut, qui est corrigé
14. Les avantages et les inconvénients du verrouillage de synchronisation
Avantages de la synchronisation : L'émergence de la synchronisation résout le problème de sécurité du multi-threading : Inconvénients de la synchronisation : Lorsqu'il y a un certain nombre de threads, car chaque thread jugera du verrouillage de la synchronisation, cela consomme beaucoup de ressources et le fera virtuellement. réduire l’efficacité opérationnelle du programme. (Les performances et la sécurité des threads ne peuvent pas être obtenues en même temps)
15. Problèmes détaillés
1. Les méthodes statiques peuvent-elles être remplacées par des méthodes synchronisées ? Oui, mais le verrou n'est pas ce fichier de bytecode de la classe chargée Student.class2. Le principe des problèmes de sécurité des threads est que des ressources partagées doivent exister et que plusieurs threads utilisent des ressources partagées 3. Le verrou doit être le même verrou
Ce qui précède est le résumé de Regaining the Basics of Java (Seventeen) : Multithreading Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois. (www.php.cn) !

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

PHP et Python ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1.Php convient au développement Web, avec une syntaxe simple et une efficacité d'exécution élevée. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et des bibliothèques riches.

PHP est un langage de script largement utilisé du côté du serveur, particulièrement adapté au développement Web. 1.Php peut intégrer HTML, traiter les demandes et réponses HTTP et prend en charge une variété de bases de données. 2.PHP est utilisé pour générer du contenu Web dynamique, des données de formulaire de traitement, des bases de données d'accès, etc., avec un support communautaire solide et des ressources open source. 3. PHP est une langue interprétée, et le processus d'exécution comprend l'analyse lexicale, l'analyse grammaticale, la compilation et l'exécution. 4.PHP peut être combiné avec MySQL pour les applications avancées telles que les systèmes d'enregistrement des utilisateurs. 5. Lors du débogage de PHP, vous pouvez utiliser des fonctions telles que error_reportting () et var_dump (). 6. Optimiser le code PHP pour utiliser les mécanismes de mise en cache, optimiser les requêtes de base de données et utiliser des fonctions intégrées. 7

Java est un langage de programmation populaire qui peut être appris aussi bien par les développeurs débutants que par les développeurs expérimentés. Ce didacticiel commence par les concepts de base et progresse vers des sujets avancés. Après avoir installé le kit de développement Java, vous pouvez vous entraîner à la programmation en créant un simple programme « Hello, World ! ». Une fois que vous avez compris le code, utilisez l'invite de commande pour compiler et exécuter le programme, et « Hello, World ! » s'affichera sur la console. L'apprentissage de Java commence votre parcours de programmation et, à mesure que votre maîtrise s'approfondit, vous pouvez créer des applications plus complexes.
