Mail :
India : +91-8143-111-555
USA : +1-703-445-4802
uk : +44-20-3287-2021
Whats app : +91-8143-110-555
Facebook Twitter Google Plus Pinit Stumbleupon Youtube Blog Blog

Workday HCM Demo New Batches Starting from Friday... 30-3-2018
Search Course Here

Live Chat
Java Concurrency online training

Java Concurrency


Concurrency is the ability to run several programs or several parts of a program in parallel. If a time consuming task can be performed asynchronously or in parallel, this improve the throughput and the interactivity of the program.
The Java programming language and the Java virtual machine (JVM) have been designed to support concurrent programming, and all execution takes place in the context of threads. Objects and resources can be accessed by many separate threads each thread has its own path of execution but can potentially access any object in the program.


  • Java programmer.


  • It is a 16 days program and extends up to 2hrs each.
  • The format is 40% theory, 60% Hands-on.

  • It is a 4 days program and extends up to 8hrs each.
  • The format is 40% theory, 60% Hands-on.
    Private Classroom arranged on request and minimum attendies for batch is 4.

course content

  • Introduction
  • History of concurrency
  • Benefits of threads
  • Risks of threads
  • Threads are everywhere
  • Annotations for Concurrency
    • Class annotations
    • Field and method annotations
  • The Java Memory
    • What is a memory model, and why would I want one?
    • Publication
    • Initialization safety
  • Thread Safety
    • What is thread safety?
    • Atomicity
    • Locking
    • Guarding state with locks
    • Liveness and performance
  • Sharing Objects
    • Visibility
    • Publication and escape
    • Thread confinement
    • Immutability
    • Safe publication
  • Composing Objects
    • Designing a thread-safe class
    • Instance confinement
    • Delegating thread safety
    • Adding functionality to existing thread-safe classes
    • Documenting synchronization policies
  • Building Blocks
    • Synchronized collections
    • Concurrent collections
    • Blocking queues and the producer-consumer pattern
    • Blocking and interruptible methods
    • Synchronizers
    • Building an efficient, scalable result cache
  • Structuring Concurrent Applications
  • Task Execution
    • Executing tasks in threads
    • The Executor framework
    • Finding exploitable parallelism
  • Cancellation and Shutdown
    • Task cancellation
    • Stopping a thread-based service
    • Handling abnormal thread termination
    • JVM shutdown
  • Applying Thread Pools
    • Implicit couplings between tasks and execution policies
    • Sizing thread pools
    • Configuring ThreadPoolExecutor
    • Extending Thread Pool Executor
    • Parallelizing recursive algorithms
  • Single-threaded subsystems
    • Why are some subsystems single-threaded?
    • Short-running tasks
    • Long-running tasks
    • Shared data models
    • Other forms of single-threaded subsystems
  • Liveness, Performance, and Testing
  • Avoiding Liveness Hazards
    • Deadlock
    • Avoiding and diagnosing deadlocks
    • Other liveness hazards
  • Performance and Scalability
    • Thinking about performance
    • Amdahl's law
    • Costs introduced by threads
    • Reducing lock contention
    • Reducing context switch overhead
  • Testing Concurrent Programs
    • Testing for correctness
    • Testing for performance
    • Avoiding performance testing pitfalls
    • Complementary testing approaches
    Advanced Topics
  • Explicit Locks
    • Lock and ReentrantLock
    • Performance considerations
    • Fairness
    • Choosing between synchronized and ReentrantLock
    • Read-write locks
  • Building Custom Synchronizers
    • Managing state dependence
    • Using condition queues
    • Explicit condition objects
    • Anatomy of a synchronizer
    • AbstractQueuedSynchronizer
    • AQS in java.util.concurrent synchronizer classes
  • Atomic Variables and Nonblocking Synchronization
    • Disadvantages of locking
    • Hardware support for concurrency
    • Atomic variable classes
    • Nonblocking algorithms


Java Concurrency Videos will be updated Soon
To Watch More Videos Click Here

Flash News

AngularJS New Batch Starting From 8th April & 9th April.

Hadoop Dev New Batch Starting From 8th April & 9th April.

IBM COGNOS TM New Batch Starting From 8th April & 9th April.

Informatica Dev New Batch Starting From 8th April & 9th April.

Mean Stack New Batch Starting From 8th April & 9th April.

SAP BODS new Batch Starting From 8th April & 9th April.

SAP S/4 HANA New Batch Starting From 8th April & 9th April.

Tableau New Batch Starting From 8th April & 9th April.


(1) Workday Technical Demo Training

Demo Schedule : 09:30 P.M EST / 08:30 P.M CST / 6:30 P.M PST on 13th April & 07:00 A.M IST on 14th April

Email :
Rediff Bol :
Google Talk :
MSN Messenger :
Yahoo Messenger :
Skype Talk :