{"id":3223,"date":"2011-03-31T12:00:00","date_gmt":"2011-03-31T12:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2011\/03\/31\/parallel-programming-tasks-and-continuations\/"},"modified":"2021-10-05T15:41:30","modified_gmt":"2021-10-05T15:41:30","slug":"parallel-programming-tasks-and-continuations","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/parallel-programming-tasks-and-continuations\/","title":{"rendered":"Parallel Programming: Tasks and Continuations"},"content":{"rendered":"<p><a href=\"https:\/\/channel9.msdn.com\/Niners\/Charles\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; float: left; padding-top: 0px; border-width: 0px;\" title=\"Charles Torre\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/2678.image_2E39F734-1.png\" alt=\"Charles Torre\" width=\"111\" height=\"138\" align=\"left\" border=\"0\" \/><\/a>Hi, I\u2019m <strong>Charles Torre<\/strong>, Sr. Technographer with <a href=\"https:\/\/channel9.msdn.com\"><strong>Channel 9<\/strong><\/a>. One of my goals is to make sure C++ has first class status on Channel 9. Make no mistake, the C++ Renaissance will be televised. \ud83d\ude42<\/p>\n<p>&nbsp;<\/p>\n<p>I\u2019ve recently been posting interviews on C9 with some of the VC++ team and a few of the VC++ MVPs like Kate Gregory. Today you&#8217;ll meet some fellow native developers who are working hard to provide powerful C++ libraries for concurrency and parallelism. They <em>need <\/em>your feedback, so please download the header files today and play with the <em>code<\/em>!<\/p>\n<p>&nbsp;<\/p>\n<p>I recently visited the <a href=\"http:\/\/blogs.msdn.com\/b\/nativeconcurrency\/\" target=\"_blank\" rel=\"noopener\"><strong>Parallel Computing Concurrency Runtime team<\/strong><\/a>, who write tools for the C++ community that make it easier to write reliable, performant and scalable concurrent and parallel code. In the first part of this interview (available <a href=\"https:\/\/channel9.msdn.com\/Shows\/Going+Deep\/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2\" target=\"_blank\" rel=\"noopener\">here<\/a>), <strong>Mike Chu , Dana Groff, Artur Laksberg and Vinod Koduvayoor Subramanian<\/strong> talk about their latest addition to the <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dd492418.aspx\" target=\"_blank\" rel=\"noopener\">Parallel Patterns Library<\/a> which provides <strong><a href=\"http:\/\/blogs.msdn.com\/b\/nativeconcurrency\/archive\/2011\/03\/09\/tasks-and-continuations-available-for-download-today.aspx\" target=\"_blank\" rel=\"noopener\">wait-free concurrency programming by specifying tasks, the ability to schedule tasks on events and continuations that specify a task or tasks which are run after one or more tasks finish<\/a><\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<p>In the second part (available <a href=\"https:\/\/channel9.msdn.com\/Shows\/Going+Deep\/Parallel-Programming-for-C-Developers-Tasks-and-Continuations-Part-2-of-2\" target=\"_blank\" rel=\"noopener\">here<\/a>), Vinod explains chaining tasks, continuations at the whiteboard. It&#8217;s fast-paced so pay attention!<\/p>\n<p>&nbsp;<\/p>\n<p>What\u2019s better is that <strong>much of this is available today through the <a href=\"http:\/\/archive.msdn.microsoft.com\/concrtextras\" target=\"_blank\" rel=\"noopener\">ConcRT Extra\u2019s \u201cSample Pack\u201d<\/a><\/strong>. Please download it, play with the new library, push it and provide feedback to the team. They really want and need your input to insure they deliver the right things for real world usage by C++ developers.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Links of interest<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/channel9.msdn.com\/Shows\/Going+Deep\/Parallel-Programming-in-Native-Code-Tasks-and-Continuations-Part-1-of-2\" target=\"_blank\" rel=\"noopener\">Tasks and Continuations, Part I<\/a><\/li>\n<li><a href=\"https:\/\/channel9.msdn.com\/Shows\/Going+Deep\/Parallel-Programming-for-C-Developers-Tasks-and-Continuations-Part-2-of-2\" target=\"_blank\" rel=\"noopener\">Tasks and Continuations, Part II<\/a><\/li>\n<li><strong><a href=\"http:\/\/archive.msdn.microsoft.com\/concrtextras\" target=\"_blank\" rel=\"noopener\">ConcRT Sample Pack<\/a><\/strong><\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dd492418.aspx\" target=\"_blank\" rel=\"noopener\">Parallel Patterns Library<\/a><\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dd504870.aspx\" target=\"_blank\" rel=\"noopener\">Concurrency Runtime<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Hi, I\u2019m Charles Torre, Sr. Technographer with Channel 9. One of my goals is to make sure C++ has first class status on Channel 9. Make no mistake, the C++ Renaissance will be televised. \ud83d\ude42 &nbsp; I\u2019ve recently been posting interviews on C9 with some of the VC++ team and a few of the VC++ [&hellip;]<\/p>\n","protected":false},"author":289,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3223","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus"],"acf":[],"blog_post_summary":"<p>Hi, I\u2019m Charles Torre, Sr. Technographer with Channel 9. One of my goals is to make sure C++ has first class status on Channel 9. Make no mistake, the C++ Renaissance will be televised. \ud83d\ude42 &nbsp; I\u2019ve recently been posting interviews on C9 with some of the VC++ team and a few of the VC++ [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/3223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/289"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=3223"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/3223\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=3223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=3223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=3223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}