{"id":7383,"date":"2022-04-28T20:53:02","date_gmt":"2022-04-28T20:53:02","guid":{"rendered":"https:\/\/www.tun.com\/courses\/2019\/12\/23\/concurrent-programming-in-java\/"},"modified":"2022-04-28T20:53:02","modified_gmt":"2022-04-28T20:53:02","slug":"concurrent-programming-in-java","status":"publish","type":"post","link":"https:\/\/www.tun.com\/courses\/concurrent-programming-in-java\/rice-university\/","title":{"rendered":"Concurrent Programming in Java"},"content":{"rendered":"<div class=\"single_post\" style=\"margin-top:16px;\";>\n<div class=\"post-single-content box mark-links entry-content\">\n<div class=\"thecontent\">\n<h2>Description<\/h2>\n<p>This course teaches learners (industry professionals and students) the fundamental concepts of concurrent programming in the context of Java 8.   Concurrent programming enables developers to efficiently and correctly mediate the use of shared resources in parallel programs.  By the end of this course, you will learn how to use basic concurrency constructs in Java such as threads, locks, critical sections, atomic variables, isolation, actors, optimistic concurrency and concurrent collections, as well as their theoretical foundations (e.g., progress guarantees, deadlock, livelock, starvation, linearizability).<\/p>\n<p>Why take this course?<\/p>\n<p>\u2022\tIt is important for you to be aware of the theoretical foundations of concurrency to avoid common but subtle programming errors.<br \/>\n\u2022\tJava 8 has modernized many of the concurrency constructs since the early days of threads and locks.<br \/>\n\u2022\tDuring the course, you will have online access to the instructor and mentors to get individualized answers to your questions posted on the forums.<br \/>\n\u2022\tEach of the four modules in the course includes an assigned mini-project that will provide you with the necessary hands-on experience to use the concepts learned in the course on your own, after the course ends.<\/p>\n<p>The desired learning outcomes of this course are as follows:<\/p>\n<p>\u2022\tConcurrency theory: progress guarantees, deadlock, livelock, starvation, linearizability<br \/>\n\u2022\tUse of threads and structured\/unstructured locks in Java<br \/>\n\u2022\tAtomic variables and isolation<br \/>\n\u2022\tOptimistic concurrency and concurrent collections in Java (e.g., concurrent queues, concurrent  hashmaps)<br \/>\n\u2022\tActor model in Java<\/p>\n<p>Mastery of these concepts will enable you to immediately apply them in the context of concurrent Java programs, and will also help you master other concurrent programming system that you may encounter in the future  (e.g., POSIX threads, .NET threads).<\/p>\n<div style=\"height:45px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<h2 class=\"has-text-align-center\">Price: Enroll For Free!<\/h2>\n<div style=\"height:45px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<div class=\"wp-block-button aligncenter\"><a class=\"wp-block-button__link has-text-color has-very-light-gray-color has-background has-vivid-red-background-color\" href=\"https:\/\/www.coursera.org\/learn\/concurrent-programming-in-java\">View Class<\/a><\/div>\n<div style=\"height:55px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><em><strong>Language:<\/strong> <\/em>English<\/p>\n<\/div>\n<div class=\"wp-block-column\">\n<p class=\"has-text-align-center\"><em><strong>Subtitles<\/strong>: <\/em>English<\/p>\n<\/div>\n<\/div>\n<p style=\"background-color:#496d89\" class=\"has-text-color has-background has-text-align-center has-very-light-gray-color\"><a href=\"https:\/\/www.coursera.org\/learn\/concurrent-programming-in-java\">Concurrent Programming in Java<strong> &#8211; Rice University<\/strong><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Description This course teaches learners (industry professionals and students) the fundamental concepts of concurrent programming in the context of Java 8. Concurrent programming enables developers to efficiently and correctly mediate the use of shared resources in parallel programs. By the end of this course, you will learn how to use basic concurrency constructs in Java [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":19455,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_uag_custom_page_level_css":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[204],"tags":[],"class_list":["post-7383","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rice-university"],"aioseo_notices":[],"uagb_featured_image_src":{"full":["https:\/\/www.tun.com\/courses\/wp-content\/uploads\/2019\/12\/Rice-Universityonline-education.png",378,224,false],"thumbnail":["https:\/\/www.tun.com\/courses\/wp-content\/uploads\/2019\/12\/Rice-Universityonline-education-150x150.png",150,150,true],"medium":["https:\/\/www.tun.com\/courses\/wp-content\/uploads\/2019\/12\/Rice-Universityonline-education-300x178.png",300,178,true],"medium_large":["https:\/\/www.tun.com\/courses\/wp-content\/uploads\/2019\/12\/Rice-Universityonline-education.png",378,224,false],"large":["https:\/\/www.tun.com\/courses\/wp-content\/uploads\/2019\/12\/Rice-Universityonline-education.png",378,224,false],"1536x1536":["https:\/\/www.tun.com\/courses\/wp-content\/uploads\/2019\/12\/Rice-Universityonline-education.png",378,224,false],"2048x2048":["https:\/\/www.tun.com\/courses\/wp-content\/uploads\/2019\/12\/Rice-Universityonline-education.png",378,224,false]},"uagb_author_info":{"display_name":"Axiom Pegasus","author_link":"https:\/\/www.tun.com\/courses\/author\/magic\/"},"uagb_comment_info":0,"uagb_excerpt":"Description This course teaches learners (industry professionals and students) the fundamental concepts of concurrent programming in the context of Java 8. Concurrent programming enables developers to efficiently and correctly mediate the use of shared resources in parallel programs. By the end of this course, you will learn how to use basic concurrency constructs in Java&hellip;","featured_media_src_url":"https:\/\/www.tun.com\/courses\/wp-content\/uploads\/2019\/12\/Rice-Universityonline-education.png","_links":{"self":[{"href":"https:\/\/www.tun.com\/courses\/wp-json\/wp\/v2\/posts\/7383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tun.com\/courses\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tun.com\/courses\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tun.com\/courses\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tun.com\/courses\/wp-json\/wp\/v2\/comments?post=7383"}],"version-history":[{"count":0,"href":"https:\/\/www.tun.com\/courses\/wp-json\/wp\/v2\/posts\/7383\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tun.com\/courses\/wp-json\/wp\/v2\/media\/19455"}],"wp:attachment":[{"href":"https:\/\/www.tun.com\/courses\/wp-json\/wp\/v2\/media?parent=7383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tun.com\/courses\/wp-json\/wp\/v2\/categories?post=7383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tun.com\/courses\/wp-json\/wp\/v2\/tags?post=7383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}