Aller au contenu
AFUP AFUP Day 2025 Baromètre Planète PHP PUFA
 

Lock et Semaphore

Description

Les situations de compétition ("race condition" en Anglais) sont un problème récurrent en informatique. Elles existent à tous les niveaux, depuis le noyau linux, jusqu'a votre application en passant par la base de données.

Elles se caractérisent par un résultat différent selon l'ordre dans lequel agissent les acteurs du système. Une situation de compétition peut survenir dès que plusieurs acteurs tentent d'accéder au même moment à une ressource partagée (fichier, ligne dans une base de données, etc.) et qu'au moins l'un d'entre eux est susceptible de modifier son état.

Des solutions existent depuis très longtemps pour pallier ces problèmes. Symfony a introduit le composant Lock dans sa version 3.4, puis le composant Semaphore dans sa version 5.2.

Cette conférence a pour objectif de vous fournir les bons outils pour éviter toutes race condition, en utilisant le composant Lock ou Semaphore en fonction des situations rencontrées.

Conférence donnée lors du AFUP Day 2021 Lille, ayant eu lieu le 28 mai 2021.

Informations complémentaires

Vidéo

Le speaker

Gregoire PINEAU

Arrivé en 2017 dans l’équipe de JoliCode, Grégoire a toujours aimé bidouiller, comprendre et apprendre. À l’issue d’études éclectiques, il est revenu au Web en 2010, domaine dans lequel il exerce depuis avec passion. Après avoir appris à se servir du framework Symfony, il a passé sa certification, puis a commencé à contribuer timidement… Ce qui l’a mené, quelques années après, à devenir un des core contributeurs du projet?! Durant toutes ces années, il a toujours préféré le backend au frontend – même s’il apprécie React, Sass et ces autres joyeusetés, il s’amuse davantage avec Ansible, AWS ou Consul. Vous pourrez le croiser lors de meetups, ou dans des matches de Volley :-)

Commentaires

Super présentation, très claire et pédagogue ! Merci !
Mathieu Santostefano, le 28/05/2021