{"id":5454,"date":"2022-08-28T19:01:57","date_gmt":"2022-08-28T13:31:57","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/"},"modified":"2022-08-28T19:01:57","modified_gmt":"2022-08-28T13:31:57","slug":"solved-discussion-threading-in-net-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/","title":{"rendered":"[Solved] Discussion: Threading in .NET [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-4266299\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"4266299\" data-parentid=\"4266140\" data-score=\"2\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Here are my two cents: <\/p>\n<p><em>Thread<\/em>: When you feel comfortable enough that you can handle all the IDEAL number of threads. This is almost always never the case. It is hear for people that would cry out that I want REAL threads not the .NET thread pool. If you don&#8217;t want to ask this question : Optimal number of threads per core don&#8217;t go with thread. <\/p>\n<p><em>ThreadPool<\/em>: This was the .net answer to in the box solution for the optimal number of threads. The API however was not the best. For new projects use TPL. <\/p>\n<p><em>BackgroundWorker<\/em>: If you are want to start threading from your GUI app with easy post backs. This provides the simplest API. <\/p>\n<p><em>Dispatcher<\/em> : Like you said. Just for calling back to the GUI thread. It is Vital for that. There is no other way you could use it anyways without some obscure code I do not know. <br \/>Note: It is not called delegate. Delegate is what you pass into a Dispatcher to dispatch. <\/p>\n<p><em>Task Parallel Library<\/em> : This came with .net 4. Recommended that you use it for new projects. <\/p>\n<p><em>Parallel<\/em>: No you got this wrong. Parallel.For will not return control until the entire loop is complete. It is there as a convenience when all you want to do is execute a loop in parallel. Great for mapping an input to an output e.g x -&gt; x*2. Using Parallel.For (or ForEach) you can run this on multiple threads (again the number is decided by .NET) to run the loop faster. Check out: <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/www.lovethedot.net\/2009\/02\/parallelfor-deeper-dive-parallel.html\">http:\/\/www.lovethedot.net\/2009\/02\/parallelfor-deeper-dive-parallel.html<\/a><\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Discussion: Threading in .NET [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Here are my two cents: Thread: When you feel comfortable enough that you can handle all the IDEAL number of threads. This is almost always never the case. It is hear for people that would cry out that I want REAL threads not the .NET thread pool. If you don&#8217;t want to ask this &#8230; <a title=\"[Solved] Discussion: Threading in .NET [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/\" aria-label=\"More on [Solved] Discussion: Threading in .NET [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,884],"class_list":["post-5454","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-multithreading"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Discussion: Threading in .NET [closed] - JassWeb<\/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:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Discussion: Threading in .NET [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Here are my two cents: Thread: When you feel comfortable enough that you can handle all the IDEAL number of threads. This is almost always never the case. It is hear for people that would cry out that I want REAL threads not the .NET thread pool. If you don&#8217;t want to ask this ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-28T13:31:57+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Discussion: Threading in .NET [closed]\",\"datePublished\":\"2022-08-28T13:31:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/\"},\"wordCount\":279,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\",\"multithreading\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/\",\"name\":\"[Solved] Discussion: Threading in .NET [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-08-28T13:31:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Discussion: Threading in .NET [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Discussion: Threading in .NET [closed] - JassWeb","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:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Discussion: Threading in .NET [closed] - JassWeb","og_description":"[ad_1] Here are my two cents: Thread: When you feel comfortable enough that you can handle all the IDEAL number of threads. This is almost always never the case. It is hear for people that would cry out that I want REAL threads not the .NET thread pool. If you don&#8217;t want to ask this ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/","og_site_name":"JassWeb","article_published_time":"2022-08-28T13:31:57+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Discussion: Threading in .NET [closed]","datePublished":"2022-08-28T13:31:57+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/"},"wordCount":279,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","multithreading"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/","name":"[Solved] Discussion: Threading in .NET [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-08-28T13:31:57+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-discussion-threading-in-net-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Discussion: Threading in .NET [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/5454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=5454"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/5454\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=5454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=5454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=5454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}