Multithreaded programming – theory vs practice.