However, when you say logic processes what do you mean? Let's say I have a quad core, is that 4 logical processors?
Yes. To over-simplify: if you have 4 CPU-intensive tasks that don't sleep or block on I/O, aren't being swapped out for other threads, and whose working set fits in the core's cache(s), you stand a better chance of keeping the 4 cores busy. Many real-life tasks don't quite fit within those boundaries.
This problem isn't really a performance issue though, its more to do with behaviour that the developer wants. He needs 10000 records processed and the performance of that processing really doesn't matter (of course it does, but not for this problem), its the ability to stop the operation but let all the threads finish.