Unlock the full course today
Join today to access over 15,000 courses taught by industry experts or purchase this course individually.
With parallel computing, you can leverage multiple compute resources to tackle larger problems in a shorter amount of time. In this course, the second in the Parallel and Concurrent Programming with Java series, take a deeper dive into the key mechanisms for writing concurrent and parallel programs. Instructors Olivia and Barron Stone make these (often abstract) concepts down-to-earth, demonstrating key ideas using common kitchen activities. Learn all about synchronization, thread pools, asynchronous tasks, evaluating parallel performance, designing parallel programs, and more. Upon wrapping up this course, you'll have a solid understanding of how to parallelize a sequential program.
Olivia Chiu Stone
Systems Engineer III at BLUE ORIGINOlivia Chiu is a programmer and engineer who has always had a passion for learning how things work.
She earned her bachelor's degree in engineering physics from Queen's University and her master's degree in mechanical engineering from McGill University. After university, she spent several years programming in LabVIEW and C# as a developer at National Instruments before becoming the project manager for the NI VeriStand development team. Outside of work, Olivia is passionate about educating and encouraging students, and dedicates her time to fostering our next generation of engineers.
Engineer | Author | VeteranBarron Stone is an electrical engineer experienced in both low-level digital hardware and high-level software.
He earned his bachelor of science in electrical engineering from Rice University and his master of science in electrical engineering from the Air Force Institute of Technology. He spent several years as an applications engineer and product-marketing engineer at National Instruments, where he developed marketing and training content for the FPGA-based NI FlexRIO modular instruments. Today, Barron is serving as an officer in the United States Air Force.
Skills covered in this course
Learn parallel programming basics“
- To prevent our race condition from occurring, we need a way to synchronize our actions so we execute our respective multiplication and addition operations in the correct order. And we can do that with something called a barrier. A barrier is a stopping point for a group of threads that prevents them from proceeding until all or enough threads have reached the barrier. I like to think of threads waiting on a barrier like players on a sports team coming together for a huddle. Before they join the huddle, the players might be doing other things, putting on their equipment, or getting a drink of water. As they finish those individual activities, they join their teammates at the huddle. Players in the huddle wait there until all of their fellow teammates arrive, then then all yell break, and then they scatter about to continue playing their game. - We can use a similar strategy here to solve our race condition. Huddling together to synchronize when we each execute our operations to add…
Practice while you learn with exercise files
Download the files the instructor uses to teach the course. Follow along and learn by watching, listening and practicing.
Download the exercise files for this course. Get started with a free trial today.
Download courses and learn on the go
Watch courses on your mobile device without an internet connection. Download courses using your iOS or Android LinkedIn Learning app.
Watch this course anytime, anywhere. Get started with a free trial today.