When: September 11th, 2007 11:30-12:40
Where: University of Phoenix (see tadalafil comgooglemaps/Itemid,31/" title: ""Meeting location">Meeting location)
Topic: Concurrency
11:30 am - Welcome Announcements
11:40 am - Main Presentation
12:40 pm - Wrap Up
When: September 11th, 2007 at 6:00PM
Where: Computer Club of Oklahoma City (see Meeting location )
Topic: Concurrency
6:00 pm - Hello Java
6:30 pm - Pizza
7:00 pm - Welcome Announcements
7:15 pm - Main Presentation continued
8:45 pm - Giveaways and Wrap Up
From no-threading to the executor framework built in to Java 5
We start with a single-threaded server with a failing test (due to performance).
We fix the performance problem by introducing basic threading (justified by the Single Responsibility Principle)
We then upgrade the server to us the Executor framework instead hand-rolling threads
This is a quick example of creating a fixed-size thread pool
If time permits (it probably won't), we'll look at a deadlock problem with the executor framework.
This presentation assumes familiarity with Java, JUnit 4, and basic Threading - the hello Java should suffice
We fix the problem using synchronized (basic)
We fix the problem by NOT guarding (intermediate) using a Java 5 class to do so
We then discuss the background behind how this works
The CPU bound parts
The I/O bound parts
Estimate how much we can speed things up
We then test our way into a multi-threaded solution
Evaluate the results
Remove contention
Move towards our theoretical maximum speed
Along the way we'll learn a little more about the executor framework
Barrier or Latch (haven't picked which one yet)
ConcurrentHashMap
"
©2007-2025 All Rights Reserved.