{"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":"mama-jis-vel-uzblokavo-siulus","status":"publish","type":"post","link":"https:\/\/thecodest.co\/lt\/blog\/mom-he-blocked-threads-again\/","title":{"rendered":"MAMA! Jis v\u0117l u\u017eblokavo si\u016blus!"},"content":{"rendered":"<h2>Si\u016blai<\/h2>\n<p>Pagrindinis dalykas, kur\u012f reikia atsiminti: yra dviej\u0173 tip\u0173 gijos <strong><a href=\"https:\/\/thecodest.co\/lt\/blog\/find-your-node-js-expert-for-hire-today\/\">Node.js<\/a><\/strong>: Pagrindinis si\u016blas - kur\u012f tvarko <b>\u012evyki\u0173 ciklas<\/b>, ir <b>Darbuotoj\u0173 rezervas<\/b> (gij\u0173 fondas) - tai yra gij\u0173 fondas -<br \/>\n<a href=\"http:\/\/docs.libuv.org\/en\/v1.x\/threadpool.html\" rel=\"nofollow\">a\u010di\u016b libuv<\/a>. Kiekvienas i\u0161 j\u0173 dirba skirting\u0105 darb\u0105. Pirmojo tikslas - atlikti neblokuojan\u010dias \u012fvesties ir i\u0161vesties operacijas, o antrojo - atlikti procesoriui iml\u0173 darb\u0105 ir blokuojan\u010dias \u012fvesties ir i\u0161vesties operacijas.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/libuv.png\" alt=\"libuv schema\" title=\"libuv komponentai\" \/><\/p>\n<p>Ta\u010diau kas yra gija ir kuo ji skiriasi nuo proceso? Yra keletas skirtum\u0173, ta\u010diau svarbiausias i\u0161 j\u0173 <a href=\"https:\/\/thecodest.co\/lt\/blog\/why-us-companies-are-opting-for-polish-developers\/\">mus<\/a> yra tai, kaip jiems paskirstoma atmintis. Apie proces\u0105 galima galvoti kaip apie program\u0105. Kiekvieno proceso viduje yra tik \u0161iam procesui skirta atminties dalis. Taigi, vienas procesas neturi prieigos prie kito proceso atminties, ir \u0161i savyb\u0117 u\u017etikrina didel\u012f saugum\u0105. Nor\u0117dami u\u017emegzti tarpusavio ry\u0161\u012f, turime atlikti tam tikr\u0105 darb\u0105. Gijos yra skirtingos. Gijos veikia proceso viduje ir dalijasi ta pa\u010dia atmintimi, tod\u0117l n\u0117ra joki\u0173 problem\u0173, kai gijos dalijasi <a href=\"https:\/\/thecodest.co\/lt\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">duomenys<\/a>.<\/p>\n<p>Ta\u010diau kyla viena problema. Ji vadinama lenktyni\u0173 s\u0105lyga. Srautai gali b\u016bti paleisti tuo pa\u010diu metu, tad kaip \u017einoti, kuris baigsis pirmas? Gali atsitikti taip, kad pirm\u0105 kart\u0105 paleidus, pirmoji operacija baigsis pirma, o kit\u0105 kart\u0105 gali paai\u0161k\u0117ti prie\u0161ingai ir antroji operacija baigsis anks\u010diau u\u017e pirm\u0105j\u0105. \u012esivaizduokite, kad tokiomis s\u0105lygomis dirbate su \u012fra\u0161ymo ir skaitymo operacijomis! Ko\u0161maras! Kartais labai sunku para\u0161yti teising\u0105 <a href=\"https:\/\/thecodest.co\/lt\/dictionary\/what-is-code-refactoring\/\">kodas<\/a> keli\u0173 gij\u0173 aplinkoje.<\/p>\n<p>Be to, daugiasluoksn\u0117s kalbos turi daug atminties s\u0105naud\u0173, nes kiekvienai u\u017eklausai sukuria atskir\u0105 gij\u0105; taigi, jei norite i\u0161kviesti 1000 u\u017eklaus\u0173, jos sukuria 1000 gij\u0173.<\/p>\n<p>Kaip spr\u0119sti toki\u0105 problem\u0105? Vietoj to naudokite vien\u0105 si\u016bl\u0105! B\u016btent tai <strong><a href=\"https:\/\/thecodest.co\/lt\/dictionary\/what-is-node-js-used-for\/\">Mazgas<\/a><\/strong> jums si\u016blo.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/eventloop.png\" alt=\"vienos gijos \u012fvyki\u0173 ciklas\" title=\"\u012fvyki\u0173 ciklo diagrama \" \/><\/p>\n<p>Kaip <strong><a href=\"https:\/\/thecodest.co\/lt\/blog\/hire-javascript-developer\/\">JavaScript k\u016br\u0117jas<\/a><\/strong> Kvie\u010diu \u017ei\u016br\u0117ti <a href=\"https:\/\/youtu.be\/PNa9OMajw9w\" rel=\"nofollow\">filmas<\/a><br \/>\nkurioje Bartas Belderis ai\u0161kiai paai\u0161kina \u012fvyki\u0173 kilpos koncepcij\u0105. Pateikta schema paimta i\u0161 jo prane\u0161imo. O jei \u0161i\u0173 s\u0105vok\u0173 visai ne\u017einote, tiek <strong>Mazgas<\/strong> ir Libuv turi puikius dokumentus \ud83d\ude42<\/p>\n<h2>Apie blokavim\u0105<\/h2>\n<p>Svetain\u0117je <strong><a href=\"https:\/\/thecodest.co\/lt\/dictionary\/why-is-javascript-so-popular\/\">JavaScript<\/a> pl\u0117tra<\/strong> pramon\u0117 jie sako, kad d\u0117l to, kad <strong>Mazgas<\/strong> yra viengubas ir neblokuojamas, tod\u0117l su tais pa\u010diais i\u0161tekliais galima pasiekti didesn\u012f lygiagretum\u0105 nei naudojant daugiagubus sprendimus. Tai tiesa, ta\u010diau tai n\u0117ra taip gra\u017eu ir paprasta, kaip gali atrodyti.<\/p>\n<p>Nuo <strong>Node.js<\/strong> yra vienos gijos (<a href=\"https:\/\/thecodest.co\/lt\/blog\/hire-vue-js-developers\/\">JS<\/a> dalis), procesoriui imlios u\u017eduotys blokuos visas vykdomas u\u017eklausas, kol konkreti u\u017eduotis bus baigta. Taigi, tiesa, kad <strong>Node.js<\/strong> galite blokuoti kiekvien\u0105 u\u017eklaus\u0105 tik tod\u0117l, kad vienoje i\u0161 j\u0173 buvo blokuojanti instrukcija. Blokuojantis kodas rei\u0161kia, kad u\u017etrunka ilgiau nei kelias milisekundes. Ta\u010diau nepainiokite ilgo atsako laiko su blokavimu. Atsakymas i\u0161 duomen\u0173 baz\u0117s gali u\u017etrukti labai ilgai, ta\u010diau jis neu\u017eblokuoja j\u016bs\u0173 proceso (parai\u0161kos).<\/p>\n<p>Blokuojantys metodai vykdomi sinchroni\u0161kai, o neblokuojantys - asinchroni\u0161kai.<\/p>\n<p>Kaip galite sul\u0117tinti (arba u\u017eblokuoti) \u012fvyki\u0173 cikl\u0105?<\/p>\n<ul>\n<li>pa\u017eeid\u017eiama regex - pa\u017eeid\u017eiama reguliarioji i\u0161rai\u0161ka yra tokia, kuri\u0105 reguliariosios i\u0161rai\u0161kos variklis gali u\u017etrukti eksponenti\u0161kai ilgai; apie tai galite paskaityti daugiau.  <a href=\"https:\/\/nodejs.org\/en\/docs\/guides\/dont-block-the-event-loop\/\" rel=\"nofollow\">\u010dia<\/a>,<\/li>\n<li>JSON operacijos su dideliais objektais,<\/li>\n<li>naudojant sinchronines API i\u0161 <strong>Mazgas <\/strong>vietoj asinchronini\u0173 versij\u0173; visi Node.js standartin\u0117s bibliotekos I\/O metodai taip pat turi asinchronines versijas,<\/li>\n<li>kitos programavimo klaidos, pavyzd\u017eiui, sinchronin\u0117s begalin\u0117s kilpos.<\/li>\n<\/ul>\n<p>Tokiu atveju, kadangi \"Worker Pool\" naudoja gij\u0173 fond\u0105, ar galima jas taip pat blokuoti? Deja, taip \ud83d\ude41<strong> Mazgas<\/strong> grind\u017eiamas filosofija <code>viena gija daugeliui klient\u0173.<\/code> Tarkime, kad konkretaus darbuotojo atliekama u\u017eduotis yra labai sud\u0117tinga ir jai atlikti reikia daugiau laiko. D\u0117l to \"Worker\" yra u\u017eblokuotas ir negali b\u016bti naudojamas kitoms laukian\u010dioms u\u017eduotims vykdyti, kol nebus \u012fvykdyti jo nurodymai. Kaip tikriausiai jau sp\u0117jote, tai gali tur\u0117ti \u012ftakos na\u0161umui. Toki\u0173 problem\u0173 galite i\u0161vengti suma\u017eindami U\u017eduo\u010di\u0173 laiko skirtumus, naudodami U\u017eduo\u010di\u0173 suskirstym\u0105.<\/p>\n<h2>I\u0161vada<\/h2>\n<p>Be abejo, venkite blokavimo. Jei tik galite, visada rinkit\u0117s asinchronines standartin\u0117s bibliotekos API versijas. Prie\u0161ingu atveju, paleidus j\u016bs\u0173 program\u0105, klientas gali susidurti su keliomis problemomis, pradedant suma\u017e\u0117jusiu pralaidumu ir baigiant visi\u0161ku pasitraukimu, kuris vartotojo po\u017ei\u016briu yra pra\u017e\u016btingas.<\/p>\n<p><article-inline-code-review><\/article-inline-code-review><\/p>\n<p><b>Skaityti daugiau:<\/b><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/why-you-should-probably-use-typescript\">Kod\u0117l tur\u0117tum\u0117te (tikriausiai) naudoti Typescript<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/how-not-to-kill-a-project-with-bad-coding-practices\/\">Kaip nesunaikinti projekto d\u0117l blogos kodavimo praktikos?<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/data-fetching-strategies-in-nextjs\/\">Duomen\u0173 gavimo strategijos \"NextJS<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>\u201cDon`t block the event loop...\u201d - tikriausiai ne kart\u0105 gird\u0117jote \u0161\u012f sakin\u012f... Nesistebiu, nes tai viena svarbiausi\u0173 prielaid\u0173 dirbant su \u201cNode\u201d. Ta\u010diau yra ir antras \"daiktas\", kurio tur\u0117tum\u0117te neblokuoti, - tai darbinink\u0173 rezervuaras (Worker Pool). Jei jis bus apleistas, tai gali tur\u0117ti didel\u0117s \u012ftakos taikomosios programos na\u0161umui ir net jos saugumui.<\/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=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/lt\/tinklarastis\/mama-jis-vel-uzblokavo-siulus\/\" \/>\n<meta property=\"og:locale\" content=\"lt_LT\" \/>\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\/lt\/tinklarastis\/mama-jis-vel-uzblokavo-siulus\/\" \/>\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 minut\u0117s\" \/>\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\":\"lt-LT\",\"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\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#breadcrumb\"},\"inLanguage\":\"lt-LT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"lt-LT\",\"@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\":\"lt-LT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lt-LT\",\"@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\":\"lt-LT\",\"@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\\\/lt\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MAMA! Jis v\u0117l u\u017eblokavo si\u016blus! - The Codest","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\/lt\/tinklarastis\/mama-jis-vel-uzblokavo-siulus\/","og_locale":"lt_LT","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\/lt\/tinklarastis\/mama-jis-vel-uzblokavo-siulus\/","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 minut\u0117s"},"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":"lt-LT","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":"MAMA! Jis v\u0117l u\u017eblokavo si\u016blus! - 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","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#breadcrumb"},"inLanguage":"lt-LT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/"]}]},{"@type":"ImageObject","inLanguage":"lt-LT","@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":"lt-LT"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"lt-LT","@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":"lt-LT","@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\/lt\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/posts\/3459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/comments?post=3459"}],"version-history":[{"count":5,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/posts\/3459\/revisions"}],"predecessor-version":[{"id":7929,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/posts\/3459\/revisions\/7929"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/media\/3460"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/media?parent=3459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/categories?post=3459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/tags?post=3459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}