2. Globalcode – Open4education
Evolution of CPUs
https://en.wikipedia.org/wiki/Moore's_law
“The number of transistors
doubles approximately every
two years.” – Goordon Moore
3. Globalcode – Open4education
In 2000… Intel predicted 10 GHz
chips on desktop by 2011
https://www.zdnet.com/article/taking-chips-to-10ghz-and-beyond-5000096055/
8. Globalcode – Open4education
So… What do we have?
“If you want to exploit multiple cores with threads and
locks, your only choice is to create a concurrent program
and then run it on parallel hardware…” – Paul Butcher
Globalcode – Open4education
So… What do we have?
“If you want to exploit multiple cores with threads and
locks, your only choice is to create a concurrent program
and then run it on parallel hardware…” – Paul Butcher
16. Globalcode – Open4education
Concurrent API – Java 5 [2004]
Atomic
Explicit Locks
Synchronizers
Latches
Semaphore
Barrier
Future
Executor
ThreadPool Doug Lea, professor at State
University of New York
33. Globalcode – Open4education
Concurrent API – Java 9 [2017]
Flow API
http://javasampleapproach.com/java/java-9-flow-submissionpublisher-concrete-publisher
Publish-Subscribe Pattern with Flow Control
Single basic (helper) implementation available in JDK: SubmissionPublisher
37. Globalcode – Open4education
Reactive Streams
The purpose of Reactive Streams (.ORG) is to provide a
standard for asynchronous stream processing with non-
blocking backpressure
Reactive Systems:
– process a potentially unbounded number of elements
– in sequence,
– asynchronously passing elements between components,
– with mandatory non-blocking back-pressure.
http://www.reactive-streams.org/