![]() |
LiveLessons: Java Concurrency (2nd Edition)
Douglas C. Schmidt
(d.schmidt@vanderbilt.edu)
|
![]() |
To help you program quality concurrent programs in Java, the 2nd edition of my LiveLessons course on LiveLessons course on Java Concurrency provides over 9.5 hours of videos that focus on the pattern-oriented techniques, tools, and methods covered in the following five lessons:
Java Source Code
The Java source code for all the examples is available here.
These examples been tested in Eclipse, Intellij, and/or Android Studio
and should be straightforward to port it to other Java environments,
as well. Suggestions for improvement are welcome (especially if they
are accompanied with updates to the source code).
Facebook Group
There's a Facebook
group on Concurrent and Parallel Programming in Java. Feel free
to post questions and comments on that group.
Additional Resources
The following are other online sources of material on concurrent programming in Java:
Professor Adam Porter has also created a LiveLessons series of videos
on Developing
Android User Interfaces that may be of interest.
Dr. Douglas C. Schmidt is the inaugural
Dean of the School of
Computing, Data Sciences, and Physics at William and Mary. He is currently on leave from
the Software Engineering
Institute (SEI) at Carnegie Mellon
University, where he is a Visiting Scientist.
Dr. Schmidt was previously the Cornelius Vanderbilt Professor of
Engineering in Computer Science at
Vanderbilt University, as
well as the Associate Chair of Computer Science and a Senior
Researcher at the Institute
for Software Integrated Systems. From 2018 to 2022 Dr. Schmidt
served as the Associate
Provost of Research Development and Technologies and the
Co-Director of the Data
Science Institute at Vanderbilt University. In 2024 Dr. Schmidt was the
President-appointed and Senate-confirmed Director of Operational Test and
Evaluation, where he is responsible for overseeing the evaluation
of the operational effectiveness, suitability, survivability, and
(when necessary) lethality of United States defense systems to defend
the homeland and prevail in conflict.
Dr. Schmidt is an internationally
renowned
and widely
cited (an h-index of 94, a g-index of 213, an i10-index of 389,
and a citation count of 50,000+) researcher whose work
focuses on patterns,
optimization
techniques, and empirical
analyses of object-oriented
and component-based
frameworks
and model-driven
engineering tools that facilitate the development of distributed
real-time and embedded (DRE) middleware
frameworks
and mobile
cloud computing applications on parallel
platforms running over wireless/wired
networks and embedded system interconnects. His recent research
focuses on prompt
engineering techniques and prompt patterns that
enhance the accuracy and expressiveness of large language models
(LLMs) and generative
augmented intelligence platforms.
He has published
10+ books and 700+ papers (including 135+ journal papers) in top IEEE, ACM, IFIP, and USENIX technical journals,
conferences, and books that cover a range of topics, including
high-performance communication software systems, parallel processing
for high-speed networking protocols, and distributed real-time and
embedded (DRE) middleware with CORBA, Real-time
Java, object-oriented
patterns for concurrent and distributed systems, concurrent
and networked software for mobile devices, and model-driven engineering
tools. He has mentored and graduated 40+
Ph.D. and Masters students working on these research topics and
has presented 600+ keynote addresses, invited talks, and tutorials
on Generative
AI, mobile
cloud computing with Android, reusable patterns,
concurrent
object-oriented network programming, distributed
system middleware at scores of technical conferences.
Dr. Schmidt has co-authored several books in the Pattern-Oriented
Software Architecture series for Wiley & Sons edited by Frank
Buschmann of Siemens, including Patterns for
Concurrent and Networked Objects, A Pattern
Language for Distributed Computing, and Patterns and
Pattern Languages. He has also co-authored two books for
Addison-Wesley on the topic of C++ Network
Programming edited by Bjarne
Stroustrup of AT&T Labs. He was a member of the writing team for
the books Ultra-Large-Scale
Systems: Software Challenge of the Future and Critical
Code: Software Producibility for Defense. In addition, he has
co-editored the first volume of the Pattern
Languages of Program Design series by Addison-Wesley and the Object-Oriented
Application Frameworks: Applications & Experiences series for
Wiley & Sons.
In addition to his research, Dr. Schmidt has a taught scores of
cutting-edge courses
at Vanderbilt University, University of California Irvine, and
Washington University St. Louis on topics relating to object-oriented
design and programming, software patterns, middleware for distributed
real-time and embedded systems, concurrent and networked programming
with C++ and Java, and mobile cloud computing with Android. He
co-taught one of the first ground-breaking cross-college University
Courses at Vanderbilt on Tackling
Big Problems with Mobile Cloud Computing. He received the 2015
Award for Excellence in Teaching by the Vanderbilt University School
of Engineering. In addition, he's taught 10+ popular Coursera
MOOCs at Vanderbilt on topics related to pattern-oriented software architecture and
Android App Development to over 400,000 learners from around
the world.
Dr. Schmidt has served as guest editor for feature topic issues on Applications
of Augmented Reality for the IEEE Proceedings, Model-Driven
Engineering for IEEE
Computer magazine, middleware technologies for future
communication networks for IEEE
Networks magazine, Distributed
Object Computing for the IEEE Communications
Magazine, Distributed
Object Computing for the USENIX
Computing Systems Journal, and the Communications of the ACM
special issues on Design
Patterns and Object-Oriented
Frameworks. Dr. Schmidt has also served as the editor of the C++
Report magazine and the Patterns++ section of C++ Report. Along
with Steve Vinoski
(Chief Architect of IONA
Technologies' Orbix Object Request Broker), Dr. Schmidt
co-authored the Object
Interconnections column on distributed computing middleware for
the C/C++ Users Journal.
From 2010 to 2014 Dr. Schmidt was a member of the Air
Force Scientific Advisory Board (AF SAB), where he served as Vice
Chair of a study on Cyber
Situational Awareness for Air Force mission operations, as well as
a study on sustaining
hardware and software for US aircraft. He also served on the
advisory board for the joint Navy/Army Future Airborne Capability
Environment (FACE) initiative. From 2000 to 2003 Dr. Schmidt
served as a Program Manager in the DARPA Information eXplotation Office
(IXO) and Information Technology
Office (ITO), where he led the national effort on
QoS-enabled component middleware research in the Program Composition for
Embedded Systems (PCES) program. In addition, he served as the
co-chair for the Software Design and
Productivity (SDP) Coordinating Group of the Federal government's
multi-agency Information Technology Research and Development (IT R&D)
Program, the collaborative IT research effort of the major Federal
science and technology agencies. The SDP Coordinating Group
formulates the multi-agency research agenda in fundamental software
design. Dr. Schmidt also served as the Deputy
Director of the DARPA Information Technology Office
(ITO), where he helped to set the national IT research and
development agenda and manage the autonomous systems, network-centric
command and control systems, distributed real-time and embedded
systems, and augmented cognition.
Dr. Schmidt was also formerly an Associate Professor in the Electrical and Computer Engineering
department at the University of
California, Irvine and an Associate Professor and Director of the
Center for Distributed Object ComputingAbout the Instructor
Dr. Schmidt served as the Chair of the DoD Organic Software Infrastructure Workshop in 2018, the General Chair of the Software Product Line Conference in 2015, the Program Chair of the Interoperable Open Architecture 2012 and 2013 conferences; program co-chair for the 1st International Symposium on Secure Virtual Infrastructures; the general co-chair for the DEBS 2009 conference; general chair for the IEEE/ACM 2007 MODELS conference; program co-chair for the 2006 ACM GPCE conference; program chair for the ACM OOPSLA 2004 conference; vice chair for the middleware track at the 2004 IEEE Real-time Systems Symposium; general co-chair for the 2004 IEEE Real-time Technology and Application Symposium; program co-chair for 2003 IEEE Real-time Technology and Application Symposium; the program co-chair for the 2003 IFIP/ACM/USENIX Middleware International Conference on Distributed Systems Platforms; area vice-chair and session chair for Middleware at the 2003 IEEE International Conference on Distributed Computing Systems (ICDCS); Program co-chair for the 2002 International Symposium on Distributed Objects and Applications; Program Co-chair for the 2001 International Symposium on Distributed Objects and Applications; Area vice-chair and session chair for Middleware at the 2001 IEEE International Conference on Distributed Computing Systems (ICDCS); co-chair of the 2000 OMG Workshop on Real-time and Embedded CORBA; general chair of the 2000 IFIP/ACM International Middleware Conference; program chair for the 1996 USENIX Conference on Object-Oriented Technologies and Systems (COOTS); and the 1996 Pattern Languages of Programming conference.
In addition to his academic research/teaching and university/government service, Dr. Schmidt has three decades of experience developing DRE middleware, model-driven engineering tools, and mobile cloud computing apps. He has led the development of the ADAPTIVE Communication Environment (ACE), which is a set of widely used, freely-available object-oriented frameworks that contain a rich set of components that implement patterns for mission-critical DRE systems. Dr. Schmidt and the members of his research group in the Distributed Object Computing (DOC) Group at Institute for Software Intensive Systems at Vanderbilt University have used ACE to develop a high performance, real-time CORBA ORB endsystem called The ACE ORB (TAO), which is a real-time ORB endsystem that supports end-to-end quality-of-service guarantees over high-speed networks. In turn, ACE and TAO form the basis for the Component-Integrated ACE ORB (CIAO), which is a real-time CORBA Component Model (CCM) implementation built by the DOC Group. The DOC Group also developed CoSMIC, which is a collection of domain-specific modeling languages and their associated analysis/synthesis tools that support various phases of DRE system development, analysis, configuration, and deployment.
The middleware platforms pioneered by Dr. Schmidt constitute some of the most successful examples of software R&D ever transitioned from academia to industry, being used successfully by thousands of developers in hundreds of companies world-wide, including Defense, Aerospace, Finance, Telecommunications, Medical, Gaming, and Internet industries. In collaboration with his colleagues, Dr. Schmidt has applied these middleware platforms and model-driven tools on large-scale telecommunications systems, medical imaging systems, real-time avionic systems, and distributed interactive simulation systems projects at many companies, including BBN, Boeing, Cisco, Ericsson, Kodak, Lockheed Martin, Lucent, Motorola, Nokia, Nortel, Raytheon, Qualcomm, SAIC, Siemens, Sprint, and Telcordia.
Dr. Schmidt received B.A. and M.A. degrees in Sociology from the College of William and Mary in Williamsburg, Virginia, and an M.S. and a Ph.D. in Computer Science from the University of California, Irvine (UCI) in 1984, 1986, 1990, and 1994, respectively.
Back to Douglas C. Schmidt's LiveLessons page.
Last modified 10:50:20 CDT 20 July 2020