You Haven't Benchmarked Both Cases
If you're new to multithreaded programming, it might surprise you to find that often the overhead required by CPU thread creation and scheduling to achieve modest gains in CPU utilization can actually result in single-threaded applications running faster! It all depends on what you're doing and if you're truly splitting independent tasks into threads. For example, if you have to read three files from disk, spawning three threads won't do you any good because each has to use the same hard disk. Therefore, always be sure to benchmark a prototype of both a single-threaded and multithreaded version of your system before going through the extra time and cost of designing around a solution that might actually backfire in terms of performance.