{"id":3459,"date":"2019-04-24T08:53:00","date_gmt":"2019-04-24T08:53:00","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/mom-he-blocked-threads-again\/"},"modified":"2026-04-24T11:21:40","modified_gmt":"2026-04-24T11:21:40","slug":"maman-il-a-encore-bloque-des-fils-de-discussion","status":"publish","type":"post","link":"https:\/\/thecodest.co\/fr\/blog\/mom-he-blocked-threads-again\/","title":{"rendered":"MOM ! Il a encore bloqu\u00e9 des fils !"},"content":{"rendered":"<h2>Fils<\/h2>\n<p>Principale chose \u00e0 retenir : il y a deux types de fils dans <strong><a href=\"https:\/\/thecodest.co\/fr\/blog\/find-your-node-js-expert-for-hire-today\/\">Node.js<\/a><\/strong>: Main Thread - qui est g\u00e9r\u00e9 par <b>Boucle d'\u00e9v\u00e9nements<\/b>et <b>R\u00e9serve de travailleurs<\/b> (thread pool) - qui est le pool de threads - (threads pool)<br \/>\n<a href=\"http:\/\/docs.libuv.org\/en\/v1.x\/threadpool.html\" rel=\"nofollow\">gr\u00e2ce \u00e0 libuv<\/a>. Chacun d'entre eux a une t\u00e2che diff\u00e9rente. L'objectif du premier est de g\u00e9rer les op\u00e9rations d'E\/S non bloquantes, et le second est responsable des travaux intensifs de l'unit\u00e9 centrale et des E\/S bloquantes.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/libuv.png\" alt=\"diagramme de libuv\" title=\"composants du libuv\" \/><\/p>\n<p>Mais qu'est-ce qu'un fil et en quoi est-il diff\u00e9rent d'un processus ? Il y a plusieurs diff\u00e9rences, mais la plus importante pour l'utilisateur est la suivante <a href=\"https:\/\/thecodest.co\/fr\/blog\/why-us-companies-are-opting-for-polish-developers\/\">nous<\/a> est la mani\u00e8re dont la m\u00e9moire leur est allou\u00e9e. Vous pouvez consid\u00e9rer un processus comme une application. \u00c0 l'int\u00e9rieur de chaque processus, il y a un morceau de m\u00e9moire d\u00e9di\u00e9 uniquement \u00e0 ce processus. Ainsi, un processus n'a pas acc\u00e8s \u00e0 la m\u00e9moire du second, et cette propri\u00e9t\u00e9 garantit une grande s\u00e9curit\u00e9. Pour \u00e9tablir une communication entre eux, nous devons effectuer un certain travail. Les threads sont diff\u00e9rents. Les threads s'ex\u00e9cutent \u00e0 l'int\u00e9rieur d'un processus et partagent la m\u00eame m\u00e9moire ; il n'y a donc aucun probl\u00e8me de partage de threads. <a href=\"https:\/\/thecodest.co\/fr\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">donn\u00e9es<\/a>.<\/p>\n<p>Cependant, un point pose probl\u00e8me. Il s'agit de la condition de course. Les threads peuvent s'ex\u00e9cuter en m\u00eame temps, alors comment savoir lequel se termine en premier ? Il se peut que la premi\u00e8re fois que vous l'ex\u00e9cutez, la premi\u00e8re op\u00e9ration se termine en premier, et que la fois suivante, ce soit l'inverse et que la deuxi\u00e8me op\u00e9ration se termine avant la premi\u00e8re. Imaginez que vous travailliez avec des op\u00e9rations d'\u00e9criture\/lecture dans de telles conditions ! Un cauchemar ! Il est parfois tr\u00e8s difficile d'\u00e9crire des <a href=\"https:\/\/thecodest.co\/fr\/dictionary\/what-is-code-refactoring\/\">code<\/a> dans un environnement multithread.<\/p>\n<p>De plus, les langages multithreads ont une surcharge de m\u00e9moire importante parce qu'ils cr\u00e9ent un thread s\u00e9par\u00e9 pour chaque requ\u00eate ; ainsi, si vous voulez appeler 1000 requ\u00eates, ils cr\u00e9ent 1000 threads.<\/p>\n<p>Comment r\u00e9soudre ce probl\u00e8me ? Utilisez plut\u00f4t un fil unique ! Et c'est ce que <strong><a href=\"https:\/\/thecodest.co\/fr\/dictionary\/what-is-node-js-used-for\/\">N\u0153ud<\/a><\/strong> vous offre.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/eventloop.png\" alt=\"boucle \u00e9v\u00e9nementielle \u00e0 un seul fil\" title=\"diagramme de boucle d&#039;\u00e9v\u00e9nements \" \/><\/p>\n<p>En tant que <strong><a href=\"https:\/\/thecodest.co\/fr\/blog\/hire-javascript-developer\/\">D\u00e9veloppeur JavaScript<\/a><\/strong> Je vous encourage \u00e0 regarder le <a href=\"https:\/\/youtu.be\/PNa9OMajw9w\" rel=\"nofollow\">film<\/a><br \/>\ndans lequel Bart Belder explique clairement le concept de boucle d'\u00e9v\u00e9nements. Le diagramme ci-dessus est extrait de sa pr\u00e9sentation. Et si vous ne connaissez pas du tout ces termes, vous pouvez consulter les deux documents suivants <strong>N\u0153ud<\/strong> et Libuv disposent d'une excellente documentation \ud83d\ude42 .<\/p>\n<h2>A propos du blocage<\/h2>\n<p>En <strong><a href=\"https:\/\/thecodest.co\/fr\/dictionary\/why-is-javascript-so-popular\/\">JavaScript<\/a> d\u00e9veloppement<\/strong> l'industrie, ils disent que parce que <strong>N\u0153ud<\/strong> est monot\u00e2che et non bloquant, vous pouvez atteindre une plus grande concurrence avec les m\u00eames ressources qu'avec des solutions multithreads. C'est vrai, mais ce n'est pas aussi beau et facile qu'il n'y para\u00eet.<\/p>\n<p>Depuis <strong>Node.js<\/strong> est \u00e0 un seul fil (<a href=\"https:\/\/thecodest.co\/fr\/blog\/hire-vue-js-developers\/\">JS<\/a> ), les t\u00e2ches \u00e0 forte intensit\u00e9 de CPU bloqueront toutes les demandes en cours jusqu'\u00e0 ce que la t\u00e2che en question soit termin\u00e9e. Il est donc vrai qu'en <strong>Node.js<\/strong> vous pouvez bloquer toutes les requ\u00eates simplement parce que l'une d'entre elles contient une instruction bloquante. Le code bloquant signifie qu'il faut plus de quelques millisecondes pour terminer. Mais il ne faut pas confondre temps de r\u00e9ponse long et blocage. La r\u00e9ponse de la base de donn\u00e9es peut \u00eatre tr\u00e8s longue, mais elle ne bloque pas votre processus (application).<\/p>\n<p>Les m\u00e9thodes bloquantes s'ex\u00e9cutent de mani\u00e8re synchrone et les m\u00e9thodes non bloquantes s'ex\u00e9cutent de mani\u00e8re asynchrone.<\/p>\n<p>Comment ralentir (ou bloquer) votre boucle d'\u00e9v\u00e9nements ?<\/p>\n<ul>\n<li>regex vuln\u00e9rable - une expression r\u00e9guli\u00e8re vuln\u00e9rable est celle sur laquelle votre moteur d'expression r\u00e9guli\u00e8re peut prendre un temps exponentiel ; vous pouvez en savoir plus \u00e0 ce sujet.  <a href=\"https:\/\/nodejs.org\/en\/docs\/guides\/dont-block-the-event-loop\/\" rel=\"nofollow\">ici<\/a>,<\/li>\n<li>Op\u00e9rations JSON sur des objets volumineux,<\/li>\n<li>en utilisant les API synchrones de <strong>N\u0153ud <\/strong>au lieu de versions asynchrones ; toutes les m\u00e9thodes d'E\/S de la biblioth\u00e8que standard Node.js fournissent \u00e9galement leurs versions asynchrones,<\/li>\n<li>d'autres erreurs de programmation, comme les boucles infinies synchrones.<\/li>\n<\/ul>\n<p>Dans ce cas, puisque le Worker Pool utilise un pool de threads, est-il possible de les bloquer \u00e9galement ? Malheureusement, oui \ud83d\ude41<strong> N\u0153ud<\/strong> se fonde sur une philosophie <code>un seul fil pour plusieurs clients.<\/code> Supposons qu'une t\u00e2che donn\u00e9e ex\u00e9cut\u00e9e par un Worker sp\u00e9cifique soit tr\u00e8s complexe et n\u00e9cessite plus de temps pour \u00eatre termin\u00e9e. En cons\u00e9quence, le Worker est bloqu\u00e9 et ne peut \u00eatre utilis\u00e9 pour ex\u00e9cuter aucune des autres t\u00e2ches en attente jusqu'\u00e0 ce que ses instructions soient ex\u00e9cut\u00e9es. Comme vous l'avez probablement devin\u00e9, cela peut affecter les performances. Vous pouvez \u00e9viter de tels probl\u00e8mes en minimisant la variation des dur\u00e9es des t\u00e2ches en utilisant le partitionnement des t\u00e2ches.<\/p>\n<h2>Conclusion<\/h2>\n<p>\u00c9vitez le blocage, c'est certain. Si vous le pouvez, choisissez toujours des versions asynchrones des API de la biblioth\u00e8que standard. Sinon, apr\u00e8s l'ex\u00e9cution de votre application, le client peut rencontrer plusieurs probl\u00e8mes, en commen\u00e7ant par la d\u00e9gradation du d\u00e9bit et en finissant par un retrait complet, ce qui est fatal du point de vue de l'utilisateur.<\/p>\n<p><article-inline-code-review><\/article-inline-code-review><\/p>\n<p><b>En savoir plus :<\/b><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/why-you-should-probably-use-typescript\">Pourquoi vous devriez (probablement) utiliser Typescript<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/how-not-to-kill-a-project-with-bad-coding-practices\/\">Comment ne pas tuer un projet avec de mauvaises pratiques de codage ?<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/data-fetching-strategies-in-nextjs\/\">Strat\u00e9gies de r\u00e9cup\u00e9ration des donn\u00e9es dans NextJS<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>\"Ne bloquez pas la boucle \u00e9v\u00e9nementielle...\" - vous avez probablement entendu cette phrase de nombreuses fois... Je ne suis pas surpris car c'est l'une des hypoth\u00e8ses les plus importantes lorsque l'on travaille avec Node. Mais il y a aussi une deuxi\u00e8me \"chose\" que vous devriez vous abstenir de bloquer - le Worker Pool. S'il est n\u00e9glig\u00e9, il peut avoir un impact significatif sur les performances de l'application et m\u00eame sur sa s\u00e9curit\u00e9.<\/p>","protected":false},"author":2,"featured_media":3460,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3459","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>MOM! He Blocked Threads Again! - The Codest<\/title>\n<meta name=\"description\" content=\"\u201cDon`t block the event loop\u2026\u201d \u2013 you&#039;ve probably heard this sentence many times\u2026 I&#039;m not surprised because it is one of the most important assumptions when working with Node. But there is also a second \u201cthing\u201d which you should refrain from blocking \u2013 the Worker Pool. If neglected, it can have a significant impact on application performance and even its security.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/fr\/blog\/maman-il-a-encore-bloque-des-fils-de-discussion\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MOM! He Blocked Threads Again!\" \/>\n<meta property=\"og:description\" content=\"\u201cDon`t block the event loop\u2026\u201d \u2013 you&#039;ve probably heard this sentence many times\u2026 I&#039;m not surprised because it is one of the most important assumptions when working with Node. But there is also a second \u201cthing\u201d which you should refrain from blocking \u2013 the Worker Pool. If neglected, it can have a significant impact on application performance and even its security.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/fr\/blog\/maman-il-a-encore-bloque-des-fils-de-discussion\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2019-04-24T08:53:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-24T11:21:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"MOM! He Blocked Threads Again!\",\"datePublished\":\"2019-04-24T08:53:00+00:00\",\"dateModified\":\"2026-04-24T11:21:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/\"},\"wordCount\":755,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/\",\"name\":\"MOM! He Blocked Threads Again! - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg\",\"datePublished\":\"2019-04-24T08:53:00+00:00\",\"dateModified\":\"2026-04-24T11:21:40+00:00\",\"description\":\"\u201cDon`t block the event loop\u2026\u201d \u2013 you've probably heard this sentence many times\u2026 I'm not surprised because it is one of the most important assumptions when working with Node. But there is also a second \u201cthing\u201d which you should refrain from blocking \u2013 the Worker Pool. If neglected, it can have a significant impact on application performance and even its security.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MOM! He Blocked Threads Again!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/fr\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MOM ! Il a encore bloqu\u00e9 des fils ! - The Codest","description":"\"Ne bloquez pas la boucle \u00e9v\u00e9nementielle...\" - vous avez probablement entendu cette phrase de nombreuses fois... Je ne suis pas surpris car c'est l'une des hypoth\u00e8ses les plus importantes lorsque l'on travaille avec Node. Mais il y a aussi une deuxi\u00e8me \"chose\" que vous devriez vous abstenir de bloquer - le Worker Pool. S'il est n\u00e9glig\u00e9, il peut avoir un impact significatif sur les performances de l'application et m\u00eame sur sa s\u00e9curit\u00e9.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/fr\/blog\/maman-il-a-encore-bloque-des-fils-de-discussion\/","og_locale":"fr_FR","og_type":"article","og_title":"MOM! He Blocked Threads Again!","og_description":"\u201cDon`t block the event loop\u2026\u201d \u2013 you've probably heard this sentence many times\u2026 I'm not surprised because it is one of the most important assumptions when working with Node. But there is also a second \u201cthing\u201d which you should refrain from blocking \u2013 the Worker Pool. If neglected, it can have a significant impact on application performance and even its security.","og_url":"https:\/\/thecodest.co\/fr\/blog\/maman-il-a-encore-bloque-des-fils-de-discussion\/","og_site_name":"The Codest","article_published_time":"2019-04-24T08:53:00+00:00","article_modified_time":"2026-04-24T11:21:40+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg","type":"image\/jpeg"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"MOM! He Blocked Threads Again!","datePublished":"2019-04-24T08:53:00+00:00","dateModified":"2026-04-24T11:21:40+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/"},"wordCount":755,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg","articleSection":["Software Development"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/","url":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/","name":"MOM ! Il a encore bloqu\u00e9 des fils ! - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg","datePublished":"2019-04-24T08:53:00+00:00","dateModified":"2026-04-24T11:21:40+00:00","description":"\"Ne bloquez pas la boucle \u00e9v\u00e9nementielle...\" - vous avez probablement entendu cette phrase de nombreuses fois... Je ne suis pas surpris car c'est l'une des hypoth\u00e8ses les plus importantes lorsque l'on travaille avec Node. Mais il y a aussi une deuxi\u00e8me \"chose\" que vous devriez vous abstenir de bloquer - le Worker Pool. S'il est n\u00e9glig\u00e9, il peut avoir un impact significatif sur les performances de l'application et m\u00eame sur sa s\u00e9curit\u00e9.","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"MOM! He Blocked Threads Again!"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"The Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/fr\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/posts\/3459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/comments?post=3459"}],"version-history":[{"count":5,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/posts\/3459\/revisions"}],"predecessor-version":[{"id":7929,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/posts\/3459\/revisions\/7929"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/media\/3460"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/media?parent=3459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/categories?post=3459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/tags?post=3459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}