TrueschoTruescho
All Courses
Concurrent Programming in Java
Coursera
Course
Unknown

Concurrent Programming in Java

Rice University

Learn foundational concurrent programming concepts in Java 8, focusing on threads, locks, atomic variables, and concurrency models for efficient shared resource management.

Unknown7 weeksEnglish26,819 enrolled

About this Course

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). Why take this course? • It is important for you to be aware of the theoretical foundations of concurrency to avoid common but subtle programming errors. • Java 8 has modernized many of the concurrency constructs since the early days of threads and locks. • During the course, you will have online access to the instructor and mentors to get individualized answers to your questions posted on the forums. • Each 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. The desired learning outcomes of this course are as follows: • Concurrency theory: progress guarantees, deadlock, livelock, starvation, linearizability • Use of threads and structured/unstructured locks in Java • Atomic variables and isolation • Optimistic concurrency and concurrent collections in Java (e.g., concurrent queues, concurrent hashmaps) • Actor model in Java 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)

What You'll Learn

  • Use threads and locks in Java
  • Apply atomic variables, isolation, and actor models
  • Understand concurrency theories including deadlock and starvation
  • Design effective, maintainable concurrent Java programs

Prerequisites

  • Basic familiarity with concurrency concepts and terms
  • Readiness for applied exercises and case work

Instructors

V

Vivek Sarkar

Professor

Topics

Software Development
Computer Science
Algorithms
Data Structures
System Programming
Debugging
Performance Testing
Java
Programming Principles
Java Programming

Course Info

PlatformCoursera
LevelUnknown
PacingUnknown
PriceFree

Skills

تطوير البرمجيات
علوم الحاسوب
الخوارزميات
هياكل البيانات
برمجة النظام
تصحيح الأخطاء
اختبار الأداء
جافا
Programming Principles
Java Programming

Start Learning Now