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

Workday HCM Demo New Batches Starting from Wednesday... 14-12-2016
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 Start From 14th DEC & 15th DEC.

Hadoop Dev New Batch Start From 15th DEC & 16th DEC.

IBM COGNOS TM New Batch Start From 16th DEC & 17th DEC.

Informatica Dev New Batch Start From 17th DEC & 18th DEC.

Mean Stack New Batch Start 18th DEC & 19th DEC.

SAP BODS new Batch Starting From 19th DEC & 20th DEC.

SAP S/4 HANA New Batch Start From 20th DEC & 21st DEC

Tableau New Batch Start From 21st DEC & 22nd DEC


(1) Workday Technical Demo Training

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

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