2025 -Les Threads Virtuels vont-ils rendre la programmation reactive obsolète?
Java 21 a été publié il y a environ un an et demi, et parmi les nouveautés de cette version se trouvent les threads virtuels, apportés par le projet Loom. Une des choses qu'ils apportent est la possibilité de revenir au modèle "un thread par requête", tout en maximisant l'utilisation du CPU, quelque chose qui n'est possible qu'avec la programmation réactive. Comment les threads virtuels peuvent-ils apporter de telles performances ? Rendent-ils vraiment le modèle réactif obsolète ? Et d'ailleurs que signifie l'obsolescence dans ce contexte ? Voici les questions auxquelles nous allons répondre dans cette présentation. Les threads virtuels ne coûtent pas cher, on peut en créer autant que l'on veut. Ils apportent une nouvelle API : la concurrence structurée, qui apporte un nouveau modèle de programmation asynchrone, plus simple que le modèle réactif. Le dernier élément qui complète le tout sont les ScopedValue, qui visent à remplacer les variables ThreadLocal, dont nous parlerons aussi.