Testing and Concurrency – Brett Schuchert

October 30, 2008
  • In Java you can’t get out of a deadlock, there you need to avoid
  • Beim Concurrent Testing auf Thread warten (join), bevor die Assertions geprüft werden
  • Bei I/O bound problems kann Multi-Threading gut helfen; Bei cpu-bound meist nicht
  • try to put the locking as close as possible to the object – prefer server-based locking
Hints:
  • run with more threads than processors
  • run on target platform when tuning
  • run with -server VM argument
  • rely on published algorithms when possible
  • don’t build your own thread-safe contrainers
    • use java.concurrent
  • consider using intrinsic locks with java 6
  • There’s a lot of gold in java.lang.concurrent
  • use ConTest from IBM