{"id":22457,"date":"2025-05-29T02:45:14","date_gmt":"2025-05-28T23:45:14","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/"},"modified":"2025-05-29T02:45:14","modified_gmt":"2025-05-28T23:45:14","slug":"goda-birden-fazla-goroutinei-beklemek","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/","title":{"rendered":"Go&#8217;da Birden Fazla Goroutine&#8217;i Beklemek"},"content":{"rendered":"<p><body><\/p>\n<p>Go&#8217;da Birden Fazla Goroutine&#8217;i Beklemek<\/p>\n<p>Go&#8217;nun en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri, e\u015fzamanl\u0131 programlama yetene\u011fidir.  Bunun temel yap\u0131 ta\u015flar\u0131ndan biri de <em>goroutine<\/em>&#8216;lerdir.  Ancak, birden fazla goroutine \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, bunlar\u0131n tamamlanmas\u0131n\u0131 beklemeniz gerekebilir.  Bu yaz\u0131da, Go&#8217;da birden fazla goroutine&#8217;i beklemenin farkl\u0131 y\u00f6ntemlerini, avantajlar\u0131n\u0131 ve dezavantajlar\u0131n\u0131 ele alaca\u011f\u0131z.<\/p>\n<h2>WaitGroup Kullan\u0131m\u0131<\/h2>\n<p>Go&#8217;nun <code>sync.WaitGroup<\/code> yap\u0131s\u0131, birden fazla goroutine&#8217;in tamamlanmas\u0131n\u0131 beklemek i\u00e7in en yayg\u0131n kullan\u0131lan y\u00f6ntemdir.  <code>WaitGroup<\/code>, ba\u015flat\u0131lan goroutine say\u0131s\u0131n\u0131 takip eder ve t\u00fcm goroutine&#8217;ler tamamlanana kadar ana goroutine&#8217;in beklemesini sa\u011flar.  \u0130\u015fte basit bir \u00f6rnek:<\/p>\n<pre><code class=\"language-go\">\npackage main\n\nimport (\n\t\"fmt\"\n\t\"sync\"\n\t\"time\"\n)\n\nfunc worker(id int, wg *sync.WaitGroup) {\n\tdefer wg.Done() \/\/ Goroutine tamamland\u0131\u011f\u0131nda WaitGroup'tan \u00e7\u0131kar\n\tfmt.Printf(\"Worker %d ba\u015fl\u0131yor...\\n\", id)\n\ttime.Sleep(time.Second)\n\tfmt.Printf(\"Worker %d bitiyor...\\n\", id)\n}\n\nfunc main() {\n\tvar wg sync.WaitGroup\n\tfor i := 1; i <= 5; i++ {\n\t\twg.Add(1) \/\/ Yeni bir goroutine ba\u015flat\u0131ld\u0131\u011f\u0131n\u0131 bildir\n\t\tgo worker(i, &#038;wg)\n\t}\n\twg.Wait() \/\/ T\u00fcm goroutine'ler tamamlanana kadar bekle\n\tfmt.Println(\"T\u00fcm worker'lar tamamland\u0131!\")\n}\n<\/code><\/pre>\n<p>Bu \u00f6rnekte, her worker goroutine'i <code>wg.Add(1)<\/code> ile WaitGroup'a eklenir ve tamamland\u0131\u011f\u0131nda <code>wg.Done()<\/code> ile \u00e7\u0131kar\u0131l\u0131r.  <code>wg.Wait()<\/code> fonksiyonu, t\u00fcm goroutine'ler tamamlanana kadar ana goroutine'i bloke eder.  Sonu\u00e7 olarak, t\u00fcm worker'lar tamamland\u0131ktan sonra \"T\u00fcm worker'lar tamamland\u0131!\" mesaj\u0131 yazd\u0131r\u0131l\u0131r.<\/p>\n<h2>Channel Kullan\u0131m\u0131<\/h2>\n<p>Ba\u015fka bir y\u00f6ntem ise, goroutine'ler aras\u0131nda ileti\u015fim kurmak i\u00e7in <code>channel<\/code> kullanmakt\u0131r. Her goroutine, i\u015fini tamamlad\u0131\u011f\u0131nda kanala bir sinyal g\u00f6nderebilir.  Ana goroutine ise, belirli say\u0131da sinyal al\u0131ncaya kadar bekleyecektir.  Bu y\u00f6ntem, daha esnek olabilir ancak daha fazla kod yazmay\u0131 gerektirir.<\/p>\n<pre><code class=\"language-go\">\npackage main\n\nimport (\n\t\"fmt\"\n\t\"time\"\n)\n\nfunc worker(id int, ch chan bool) {\n\tfmt.Printf(\"Worker %d ba\u015fl\u0131yor...\\n\", id)\n\ttime.Sleep(time.Second)\n\tfmt.Printf(\"Worker %d bitiyor...\\n\", id)\n\tch <- true \/\/ \u0130\u015f tamamland\u0131\u011f\u0131nda kanala true g\u00f6nder\n}\n\nfunc main() {\n\tch := make(chan bool, 5) \/\/ Kapasitesi 5 olan bir channel olu\u015ftur\n\tfor i := 1; i <= 5; i++ {\n\t\tgo worker(i, ch)\n\t}\n\tfor i := 0; i < 5; i++ {\n\t\t<-ch \/\/ Her worker'dan bir sinyal bekle\n\t}\n\tfmt.Println(\"T\u00fcm worker'lar tamamland\u0131!\")\n}\n<\/code><\/pre>\n<p>Bu \u00f6rnekte, 5 worker'dan her biri i\u015fini tamamlad\u0131\u011f\u0131nda kanala true g\u00f6nderir. Ana goroutine, kanaldan 5 true de\u011feri alana kadar bekler. Bu y\u00f6ntem, <code>WaitGroup<\/code>'a g\u00f6re daha az kullan\u0131lan bir y\u00f6ntemdir ancak daha iyi anla\u015f\u0131l\u0131rl\u0131k sunabilir.<\/p>\n<h2>Context Kullan\u0131m\u0131<\/h2>\n<p>Go'nun <code>context<\/code> paketi, goroutine'leri iptal etmek veya zaman a\u015f\u0131m\u0131 belirlemek i\u00e7in kullan\u0131l\u0131r.  Bir <code>context<\/code> olu\u015fturup, goroutine'lerinize bu context'i iletebilirsiniz.  Context iptal edildi\u011finde, goroutine'ler de iptal edilir.  Bu y\u00f6ntem, \u00f6zellikle uzun s\u00fcre \u00e7al\u0131\u015fan goroutine'ler i\u00e7in faydal\u0131d\u0131r.<\/p>\n<p>\u00d6rne\u011fin, belirli bir s\u00fcre sonra goroutine'leri iptal etmek i\u00e7in <code>context.WithTimeout<\/code> kullan\u0131labilir.  Bu, kaynaklar\u0131n gereksiz yere t\u00fcketilmesini \u00f6nler. Detayl\u0131 \u00f6rnekler i\u00e7in <a href=\"https:\/\/fatihsoysal.com\">Fatih Soysal'\u0131n web sitesini<\/a> ziyaret edebilirsiniz. <\/p>\n<p>Sonu\u00e7 olarak, Go'da birden fazla goroutine'i beklemenin farkl\u0131 yollar\u0131 vard\u0131r.  En uygun y\u00f6ntem, uygulaman\u0131z\u0131n gereksinimlerine ve karma\u015f\u0131kl\u0131\u011f\u0131n\u0131za ba\u011fl\u0131 olarak de\u011fi\u015fiklik g\u00f6sterir.  <code>WaitGroup<\/code> basit senaryolar i\u00e7in ideal iken, daha karma\u015f\u0131k durumlarda <code>channel<\/code> ve <code>context<\/code> daha esnek \u00e7\u00f6z\u00fcmler sunar.  Do\u011fru y\u00f6ntemi se\u00e7mek, Go programlar\u0131n\u0131z\u0131n performans\u0131n\u0131 ve g\u00fcvenilirli\u011fini art\u0131rmada \u00f6nemli bir rol oynar.<\/p>\n<p>Umar\u0131m bu makale size Go'da goroutine senkronizasyonu konusunda yard\u0131mc\u0131 olmu\u015ftur.  Herhangi bir sorunuz varsa, l\u00fctfen yorumlarda belirtin.<\/p>\n<h3>#Etiketler<\/h3>\n<p>Go, goroutine, waitgroup, channel, context, senkronizasyon, e\u015fzamanl\u0131l\u0131k, paralel programlama<\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"Go&#8217;da Birden Fazla Goroutine&#8217;i Beklemek Go&#8217;nun en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri, e\u015fzamanl\u0131 programlama yetene\u011fidir. Bunun temel yap\u0131 ta\u015flar\u0131ndan biri&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-22457","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Go&#039;da Birden Fazla Goroutine&#039;i Beklemek<\/title>\n<meta name=\"description\" content=\"Go&#039;nun en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri, e\u015fzamanl\u0131 programlama yetene\u011fidir. Bunun temel yap\u0131 ta\u015flar\u0131ndan biri de goroutine&#039;lerdir. Ancak, birden fazla goroutine \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, bunlar\u0131n tamamlanmas\u0131n\u0131 beklemeniz gerekebilir. Bu yaz\u0131da, Go&#039;da birden fazla goroutine&#039;i beklemenin farkl\u0131 y\u00f6ntemlerini, avantajlar\u0131n\u0131 ve dezavantajlar\u0131n\u0131 ele alaca\u011f\u0131z.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Go&#039;da Birden Fazla Goroutine&#039;i Beklemek\" \/>\n<meta property=\"og:description\" content=\"Go&#039;nun en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri, e\u015fzamanl\u0131 programlama yetene\u011fidir. Bunun temel yap\u0131 ta\u015flar\u0131ndan biri de goroutine&#039;lerdir. Ancak, birden fazla goroutine \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, bunlar\u0131n tamamlanmas\u0131n\u0131 beklemeniz gerekebilir. Bu yaz\u0131da, Go&#039;da birden fazla goroutine&#039;i beklemenin farkl\u0131 y\u00f6ntemlerini, avantajlar\u0131n\u0131 ve dezavantajlar\u0131n\u0131 ele alaca\u011f\u0131z.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-28T23:45:14+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Go&#8217;da Birden Fazla Goroutine&#8217;i Beklemek\",\"datePublished\":\"2025-05-28T23:45:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/\"},\"wordCount\":433,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/\",\"name\":\"Go'da Birden Fazla Goroutine'i Beklemek\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-05-28T23:45:14+00:00\",\"description\":\"Go'nun en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri, e\u015fzamanl\u0131 programlama yetene\u011fidir. Bunun temel yap\u0131 ta\u015flar\u0131ndan biri de goroutine'lerdir. Ancak, birden fazla goroutine \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, bunlar\u0131n tamamlanmas\u0131n\u0131 beklemeniz gerekebilir. Bu yaz\u0131da, Go'da birden fazla goroutine'i beklemenin farkl\u0131 y\u00f6ntemlerini, avantajlar\u0131n\u0131 ve dezavantajlar\u0131n\u0131 ele alaca\u011f\u0131z.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Go&#8217;da Birden Fazla Goroutine&#8217;i Beklemek\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Go'da Birden Fazla Goroutine'i Beklemek","description":"Go'nun en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri, e\u015fzamanl\u0131 programlama yetene\u011fidir. Bunun temel yap\u0131 ta\u015flar\u0131ndan biri de goroutine'lerdir. Ancak, birden fazla goroutine \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, bunlar\u0131n tamamlanmas\u0131n\u0131 beklemeniz gerekebilir. Bu yaz\u0131da, Go'da birden fazla goroutine'i beklemenin farkl\u0131 y\u00f6ntemlerini, avantajlar\u0131n\u0131 ve dezavantajlar\u0131n\u0131 ele alaca\u011f\u0131z.","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:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/","og_locale":"tr_TR","og_type":"article","og_title":"Go'da Birden Fazla Goroutine'i Beklemek","og_description":"Go'nun en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri, e\u015fzamanl\u0131 programlama yetene\u011fidir. Bunun temel yap\u0131 ta\u015flar\u0131ndan biri de goroutine'lerdir. Ancak, birden fazla goroutine \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, bunlar\u0131n tamamlanmas\u0131n\u0131 beklemeniz gerekebilir. Bu yaz\u0131da, Go'da birden fazla goroutine'i beklemenin farkl\u0131 y\u00f6ntemlerini, avantajlar\u0131n\u0131 ve dezavantajlar\u0131n\u0131 ele alaca\u011f\u0131z.","og_url":"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-05-28T23:45:14+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"1 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Go&#8217;da Birden Fazla Goroutine&#8217;i Beklemek","datePublished":"2025-05-28T23:45:14+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/"},"wordCount":433,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/","url":"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/","name":"Go'da Birden Fazla Goroutine'i Beklemek","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-05-28T23:45:14+00:00","description":"Go'nun en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri, e\u015fzamanl\u0131 programlama yetene\u011fidir. Bunun temel yap\u0131 ta\u015flar\u0131ndan biri de goroutine'lerdir. Ancak, birden fazla goroutine \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, bunlar\u0131n tamamlanmas\u0131n\u0131 beklemeniz gerekebilir. Bu yaz\u0131da, Go'da birden fazla goroutine'i beklemenin farkl\u0131 y\u00f6ntemlerini, avantajlar\u0131n\u0131 ve dezavantajlar\u0131n\u0131 ele alaca\u011f\u0131z.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/goda-birden-fazla-goroutinei-beklemek\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Go&#8217;da Birden Fazla Goroutine&#8217;i Beklemek"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/22457","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=22457"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/22457\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=22457"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=22457"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=22457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}