Concurrent Threads in Java
Implement interface Runnable -- Preferred!
start member functions starts thread, runs member function run
Memory is shared -- threads communicate by reading/writing to same memory locations
Need Synchronization to avoid race conditions
Threads run concurrently
- time-sliced on a single processor
- in parallel on an SMP (depending on OS)