Master Parallel Computing and Multithreading in Java

所在平台: Udemy

课程主页: https://www.udemy.com/course/master-parallel-computing-and-multithreading-in-java/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:掌握Java中的并行计算与多线程 课程概述: 在一家国际投资银行的12层会议室内,开发团队面临重大危机。核心应用程序的故障导致整个系统瘫痪,资深开发者马克·亚当斯揭示了是因为早前代码中引入的竞争条件造成的。其他开发者意识到问题的严重性,也明白他们将不得不加班处理这一突发情况。尽管初级开发者对竞争条件有些了解,却又不知如何表达自己的疑惑。 交付经理布莱恩·霍尔姆斯对此感到困惑,想要了解为何在几个月内没有问题的应用程序突然崩溃。在信息时代,开发者经常听到关于使用线程和并发编程的讨论,但由于害怕复杂,许多人选择沉默。 这门课程的秘密在于:多线程和多进程编程并不比正常编程难。许多开发者害怕并发编程,误认为仅限于资深开发者。其实,我们的思维已经习惯处理并发问题,只是将这种能力转化为代码时遇到困难。课程将帮助你掌握管理并发性所需的多线程和多进程工具和概念。 课程内容以实用为主,首先介绍一些关于并行性的理论,随后讲解操作系统如何处理多个进程和线程,并通过解决实例问题介绍多种工具。尽管课程使用Java语言,但所学概念可以应用于大多数编程语言。课程代码可在GitHub上找到,用户名/项目:cutajarj/multithreadinginjava。

课程评论(0条)

课程详情

The mood in the meeting on the 12th floor of an international investment bank was as bleak as it gets. The developers of the firm met to discuss the best way forward after a critical core application failed and caused a system wide outage."Guys, we have a serious issue here. I found out that the outage was caused by a race condition in our code, introduced a while ago and triggered last night." says Mark Adams, senior developer.The room goes silent. The cars outside the floor to ceiling windows slowly and silently creep along in the heavy city traffic. The senior developers immediately understand the severity of the situation, realizing that they will now be working around the clock to fix the issue and sort out the mess in the datastore. The less experienced developers understand that a race condition is serious but don't know exactly what causes it and therefore keep their mouths shut.Eventually Brian Holmes, delivery manager, breaks the silence with "The application has been running for months without any problems, we haven't released any code recently, how is it possible that the software just broke down?!"Everyone shakes their heads and goes back to their desk leaving Brian in the room alone, puzzled. He takes out his phone and googles "race condition".Sound familiar? How many times have you heard another developer talking about using threads and concurrent programming to solve a particular problem but out of fear you stayed out of the discussion?Here's the little secret that senior developers will never share.Multithreading and Multiprocessing programming is not much harder than normal programming. Developers are scared of concurrent programming because they think it is an advanced topic that only highly experienced developers get to play with.This is far from the truth. Our minds are very much used to dealing with concurrency. In fact we do this in our everyday life without any problem but somehow we struggle to translate this into our code. One of the reasons for this is that we're not familiar with the concepts and tools available to us to manage this concurrency. This course is here to help you understand how to use multithreading and multiprocessing tools and concepts to manage your parallel programming. It is designed to be as practical as possible. We start with some theory around parallelism and then explain how the operating system handles multiple processes and threads. Later we move on to explain the multiple tools available by solving example problems using concurrent programming.In this course we use the Java language, however the concepts learned here can be applied to most programming languages.All code in this course can be found on github, username/project: cutajarj/multithreadinginjava

课程标签

0人关注该课程

主题相关的课程