Multithreading is not simple given the flash and ram size of an Arduino. Furthermore I estimate 85% (or more) of the people of the forum would get in trouble due to deadlock , race conditions, resource starvation, priority inversion etc. if I look at the typical problems posted on the forum.
I You can do many things "more than appropiate in parallel" just by design. Biggest point is not to use delay(), millidelay() or microdelay() or other blocking functions...
That said, if you want a multithreading microProc I would advice to have a look at the FEZwhich is programmed in C#. Did some experiments last year with a FEZ and it worked like a charm, separate measuring threads one per sensor, separate processing threads, storage thread and display thread.
Check out the panda II -
http://www.ghielectronics.com/catalog/product/256 - THe FEZ Cobra is also a nice beast.
Let me hear what you think of the FEZ!
Note: the FEZ can use Arduino shields - maybe not all - what is at least interesting ...