Concurrency, Multithreading and Parallel Computing in Java

所在平台: Udemy

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

课程评论:没有评论

第一个写评论        关注课程

课程简介

Coursera 课程总结:Java 并发、多线程与并行计算 本课程深入探讨了 Java 中的多线程和并发编程基础,涵盖了并行计算的基本概念。在信息技术飞速发展的今天,尤其是在大数据和机器学习领域,多线程和并行计算的重要性日益凸显。 课程内容结构如下: * **第一部分:多线程理论** * 多线程背后的理论原理 * 多线程的优缺点分析 * 线程的生命周期详解 * **第二部分:线程操作** * 线程的启动方式(Runnable 接口和 Thread 类) * `join` 关键字的使用 * 守护线程(Daemon Threads)的概念 * **第三部分:线程间通信** * 线程的内存管理 * 同步机制和`synchronized`代码块 * 锁(Locks)的运用 * `wait` 和 `notify` 方法 * 生产者-消费者问题的实现 * 并发集合(Concurrent Collections) * Latch,、CyclicBarrier 和 BlockingQueue * DelayQueue, PriorityQueue 和 ConcurrentHashMap * **第四部分:多线程概念** * `volatile` 关键字的作用 * 死锁(Deadlocks)和活锁(Livelocks) * 信号量(Semaphores)和互斥锁(Mutexes) * 经典并发问题演示:哲学家就餐问题和图书馆模拟 * **第五部分:Executors 与 ExecutorService** * `Executor` 接口 * `ExecutorService` 的使用 * **第六部分:并发集合** * 集合的同步化 * Latch, CyclicBarrier, DelayQueue, PriorityQueue, ConcurrentHashMap, CopyOnWriteArrayList 等并发集合的深入解析 * **第七部分:模拟** * 哲学家就餐问题的仿真 * 图书馆模拟场景 * **第八部分:并行算法** * 并行计算的定义 * 并行归并排序(Parallel Merge Sort) * 其他并行算法介绍 * **第九部分:Fork-Join 框架** * Fork-Join 框架详解 * 并行最大值查找 * **第十部分:Stream API** * Java Stream API 的功能介绍及示例 * 顺序流(Sequential Streams)和并行流(Parallel Streams) * **第十一部分:虚拟线程** * 平台线程(Platform Threads)与虚拟线程(Virtual Threads)的对比 * 虚拟线程的创建与操作 * `StructuredTaskScope` 和 `Subtask`, `Delimited Continuation` * **第十二部分:大数据与 MapReduce** * MapReduce 概念解析 * MapReduce 与 Fork-Join 框架的结合 本课程将带领大家全面掌握 Java 的多线程和并发编程技术,并将其应用于实际问题和大数据处理场景。

课程评论(0条)

课程详情

This course is about the basics of multithreading and concurrent programming with some parallel concepts. In the 21st century this topic is becoming more and more popular with the advent of Big Data and Machine Learning. We will consider the low level concepts such as threads, synchronization and locks. The second chapter will be about concurrent library: of course there are built in classes and interfaces that we can use when implementing multithreaded applications. Then we develop little programs as show-cases for multithreading: the dining-philosopher problem and the students in library simulation. Last chapter is about parallel computing and MapReduce. Section 1 - Multithreading Theory:theory behind multithreadingpros and cons of multithreadinglife cycle of a theadSection 2 - Threads Manipulation:starting threads (Runnable interface and Thread class)join keyworddaemon threadsSection 3 - Inter-Thread Communication:memory management of threadssynchronization and synchronized blockslockswait and notifyproducer-consumer problem and solutionconcurrent collectionslatch, cyclic barrier and blocking queuesdelay queue, priority queue and concurrent mapsSection 4 - Multithreading Concepts:volatile keywordsdeadlocks and livelockssemaphores and mutexesdining philosophers problemlibrary applicationSection 6 - Executors and ExecutorServices:executorsexecutor servicesSection 6 - Concurrent Collections:synchronization with Collectionslatchescyclic barriersdelay and priority queuesconcurrent HashMapsCopyOnWriteArrayListsSection 7 - Simulations:dining philosophers problemlibrary problemSection 8 - Parallel Algorithms:what is parallel computingparallel merge sortparallel algorithmsSection 9 - Fork-Join FrameworkFork-Join frameworkmaximum finding in parallel mannerSection 10 - Stream APIthe Stream API explained with examplessequential streams and parallel streamsSection 11 - Virtual Threadsplatform threads and virtual threadsunderstanding virtual thread creation and operationsStructuredTaskScope and Subtaskdelimited continuationSection 12 - BigData and MapReduce:what is MapReduceMapReduce and Fork-Join frameworkThanks for joining my course, let's get started!

课程标签

0人关注该课程

主题相关的课程