Testing concurrent access within a multithreaded environment.
Examples relies on an EventLog class, capable of storing simple events (strings). Different examples show class behaviour while accessing a single instance from different jobs.
Simple sequential jobs execution: no problems.
Parallelized thread jobs: Access problem (An item is accessed while just removed by another thread)
Parallelized thread jobs with coarse job-level synchronization (synchronized block) : Works fine but job are blocking each other and execution time results quite like sequential.
Parallelized thread jobs with fine event-level synchronization (synchronized block) : Works fine, Jobs fully parallelized, no concurrent access problems.