I have a Intel Core 2 Duo, processor, which to my understanding can run 2 processes at a time.
I have a function which makes recursive calls and adds results to a List which is a 'global' variable.
I roughly timed a specific process to take about 18seconds without using threading. I then divided the work into 2 halves and called
Threading.Tasks.Parallel.For(0, 1, Sub(x)
It takes the same amount of time.
I watched my System Processes and I only see 1 instance of my code, and its only using about 15-20% CPU with 50-60% being idle. No errors.
Is the List implementation causing it to not run in parallel rather than throwing an error? Should I be using a different methodology?