Why Are Threads Needed On Single Core Processors