Multi-core computing has been around for years yet many apps only work on a single core. Even processor intensive activities like DVD ripping and encoding are done in single threads with most apps. It seems as if there are only a minority of apps where companies decide that the market benefits from better performance merit putting up with the pain of multi-threaded development. Is multi-threading something developer just do in the software they write as a matter of course, or is it just too difficult to justify the cost?