Passer aux informations sur le produit
Concurrence de Groking
Concurrence de Groking
Description
Introduction au livre
Comprendre la concurrence !
Ce n'est pas grave si vous ne connaissez pas les formules complexes et les termes techniques !
Vous pouvez comprendre la concurrence rien qu'en la lisant !


La concurrence est une méthode de traitement simultané de programmes qui consiste à les exécuter de manière indépendante. Sa mise en œuvre requiert la maîtrise de diverses technologies et concepts tels que la complexité, le parallélisme, les threads, les processus, le multitâche et les coroutines, ainsi que la capacité à les utiliser à bon escient.
Ce livre explique le concept souvent difficile de simultanéité à travers des exemples concrets et des illustrations attrayantes.
Il ne se limite pas à un langage de programmation ou à une implémentation spécifique, mais vous aide plutôt à apprendre des concepts et des principes plus fondamentaux.
En particulier, les concepts sont expliqués simplement à l'aide de schémas visuels plutôt que de formules complexes afin de garantir une compréhension claire, et diverses histoires sont utilisées pour capter l'intérêt du lecteur.
Après avoir lu ce livre, vous aurez une vision complète de la concurrence.
  • Vous pouvez consulter un aperçu du contenu du livre.
    Aperçu
","
indice
PREMIÈRE PARTIE : Octopus Orchestra : Introduction à la Symphonie de la Simultanéité

CHAPITRE 1 Qu'est-ce que la concurrence ?
1.1 L'importance de la concurrence
1.2 Couches de concurrence
1.3 Ce que vous apprendrez dans ce livre

CHAPITRE 2 Exécution séquentielle et parallèle
2.1 Retour sur le passé : Qu'est-ce qu'un programme ?
2.2 Exécution séquentielle
2.3 Calcul séquentiel
2.4 Exécution parallèle
2.5 Ce qui est nécessaire pour le calcul parallèle
2.6 Calcul parallèle
2.7 Loi d'Amdahl
2.8 Loi de Gustafson
2.9 Concurrence vs.
Parallélisme

CHAPITRE 3 Comment fonctionnent les ordinateurs
3.1 Processeur
3.2 Système d'exécution
3.3 Structure du système informatique
3.4 Plusieurs niveaux de matériel simultané

CHAPITRE 4 Matériaux pour la mise en œuvre de la concurrence
4.1 Étapes de la programmation concurrente
4.2 Processus
4.3 Fil

CHAPITRE 5 Communication interprocessus
5.1 Diverses méthodes de communication
5.2 Motif de piscine à fils
5.3 Décryptage de mots de passe : Partie 2

PARTIE II : Types de tentacules gérant la concurrence : multitâche, décomposition et synchronisation

CHAPITRE 6 Le multitâchage
6.1 Centré sur le processeur et sur les E/S
6.2 Pourquoi le multitâchage est nécessaire
6.3 Multitâche : Vue d'ensemble
6.4 Environnement multitâche

CHAPITRE 7 Décomposition du travail
7.1 Analyse des dépendances
7.2 Décomposition du travail
7.3 Décomposition du travail : Modèle de pipeline
7.4 Décomposition des données
7.5 Détermination de la taille de la tâche décomposée

CHAPITRE 8 Résolution des problèmes de concurrence : conditions de concurrence et synchronisation
8.1 Ressources partagées
8.2 Conditions de compétition
8.3 Synchronisation

CHAPITRE 9 Résolution des problèmes de concurrence : interblocages et famine
9.1 Le problème du festin des philosophes
9.2 Impasse
9.3 Live Rock
9.4 Famine
9.5 Conception de la synchronisation
9.6 Autres sujets

PARTIE III Mouvements asynchrones des pieuvres : Préparation simultanée de plusieurs pizzas

CHAPITRE 10 E/S non bloquantes
10.1 Le monde du calcul distribué
10.2 Modèle client-serveur
10.3 Service de commande de pizzas
10.4 Blocage des E/S
10.5 E/S non bloquantes

CHAPITRE 11 CONCURRENTIATION ÉVÉNEMENTIELLE
11.1 Qu'est-ce qu'un événement ?
11.2 Rappels
11.3 Boucle d'événements
11.4 Multiplexage des entrées/sorties
11.5 Implémentation d'un serveur de pizzas basé sur les événements
11.6 Modèle de réacteur
11.7 Synchronisation du transfert des messages
11.8 Différents modèles d'entrée/sortie

CHAPITRE 12 Communication asynchrone
12.1 Pourquoi l'asynchronisme est nécessaire
12.2 Appels de procédure asynchrones
12.3 Multitâche coopératif
12.4 Objets futurs
Serveur à pizza 12,5 pouces avec multitâche coopératif
12.6 Restaurant de pizzas asynchrone
12.7 Conclusion : Modèle asynchrone

CHAPITRE 13 : EXERCICE : DEMANDES ÉCRITES CONCURRENTES
13.1 Alors, qu'est-ce que la concurrence ?
13.2 Techniques d'affichage
13.3 Opérations de multiplication matricielle
13.4 Dénombrement des mots distribués
","
Image détaillée
Image détaillée 1
","
Dans le livre
Moi aussi, je me suis laissé prendre dans cet engrenage fascinant.
C’est sur ce site web que j’ai découvert pour la première fois les mots concurrence et asynchronie.
J'avais l'impression d'avoir trouvé un trésor caché.
C'est une force sauvage et puissante, difficile à maîtriser, qui, si elle est correctement apprivoisée, peut transformer un programme ordinaire en un programme très puissant.
Mais ce trésor ne peut être débloqué qu'en résolvant diverses énigmes disséminées dans le paysage technologique : complexité, concurrence et parallélisme, threads, processus, multitâches et coroutines.
En étudiant ces concepts, j'aspirais à trouver quelqu'un qui puisse m'aider à comprendre l'ensemble, ou quelqu'un qui puisse me les enseigner.
Cependant, je n'ai encore trouvé aucun document capable de combler le fossé entre la théorie et la pratique, ni entre les différents langages de programmation ; j'ai donc décidé de l'écrire moi-même.
Ce livre est né dans ce contexte.
Il vous servira de guide pour éclairer le chemin que vous devrez emprunter dans ce labyrinthe complexe.

Ce livre ne convient pas comme ouvrage de référence exhaustif.
Il s'agit plutôt d'un livre agréable à lire, qui entremêle diverses histoires et références culturelles.
Conçu à l'origine comme un guide théorique, il a évolué vers son format actuel, présentant une variété d'histoires, de références culturelles (comptez-les !) et d'illustrations intéressantes.
L'humour décalé qui révèle mon amour pour les raviolis et la pizza est un bonus.
Apprendre le parallélisme n'est pas forcément ennuyeux, n'est-ce pas ?

Découvrons ensemble les mystères de la concurrence et de l'asynchronisme grâce à ce livre.
En partant des notions de base de la concurrence, vous apprendrez à utiliser les fonctionnalités intéressantes de Python, async et await, et la formation pratique sera axée sur Python.
Ce n'est pas grave si vous ne maîtrisez pas Python.
Les concepts et les techniques que nous allons apprendre ne se limitent pas à une implémentation linguistique particulière.

Cependant, certains lecteurs pourraient se demander : « Pourquoi Python ? »
Parce que Python est un langage qui offre un équilibre parfait entre expressivité et simplicité.
Cela nous permet de nous concentrer sur la maîtrise de la concurrence sans être distraits par d'autres facteurs.
Et c'est aussi ma langue préférée.

Ce livre sera utile aussi bien aux développeurs expérimentés souhaitant approfondir leur compréhension des systèmes concurrents qu'aux débutants intéressés par la théorie de la concurrence.
Grâce à ce livre, vous comprendrez non seulement les secrets de la concurrence, mais vous acquerrez également la capacité de construire des systèmes logiciels évolutifs, efficaces et résilients.

Il est temps d'entreprendre un voyage où le programme danse comme une pieuvre, traversant les frontières floues du temps et de l'espace.
Je n'ai pas mal entendu.
C'est la pieuvre que vous connaissez.
Les pieuvres nagent dans les profondeurs marines, utilisant leurs huit tentacules en parfaite harmonie.
C'est l'animal parfait pour symboliser un système simultané complexe et pourtant magnifique.
Eh bien, commençons notre voyage.
--- Note de l'auteur
","
Avis de l'éditeur
Avec des exemples du quotidien et des illustrations intéressantes
Apprenez facilement les concepts complexes de concurrence !


La concurrence est un élément essentiel du génie logiciel, une approche qui consiste à diviser un programme informatique en tâches exécutables indépendamment et à les exécuter efficacement.
Pour avoir une vision globale de la concurrence, il est nécessaire de comprendre et d'intégrer efficacement diverses technologies telles que la complexité, le parallélisme, les threads, les processus, le multitâche et les coroutines.

Ce livre explique les concepts et les principes de la concurrence à l'aide d'exemples concrets, afin que même les lecteurs novices en la matière puissent les apprendre.
Au lieu d'utiliser des explications rigides et ennuyeuses employant des termes techniques, il explique les choses clairement et facilement en utilisant des mots compréhensibles, et dévoile chaque aspect de la simultanéité à travers diverses histoires.
De plus, les concepts complexes et difficiles sont simplifiés grâce à des illustrations et des dessins.

Il fournit des conseils sur la manière de dresser un tableau complet de la concurrence, sur la manière de l'étudier par la suite, et propose même des exemples en Python pour une pratique concrète.
Je recommande vivement ce livre aussi bien aux développeurs juniors qui souhaitent approfondir leurs connaissances en matière de programmation concurrente qu'aux développeurs seniors qui veulent consolider leurs compétences dans ce domaine.

Ce que ce livre couvre

● Écriture et exécution de programmes concurrents
● Modèles de performance, d'évolutivité et de résilience
● Choisir le matériel approprié
● Communication asynchrone
Concurrence non bloquante et concurrence événementielle
"]
SPÉCIFICATIONS DES PRODUITS
- Date d'émission : 13 novembre 2024
Nombre de pages, poids, dimensions : 344 pages | 648 g | 183 × 235 × 14 mm
- ISBN13 : 9791140711741

Vous aimerez peut-être aussi

카테고리