Well, you're going to need to develop multi-threaded applications if you want to take advantage of the multiple cores.
The Intel CEO is worried about the "software ecosystem". And he should be. His fate isn't completely in his own hands.
In the past, Intel (or AMD) could always market a uP with a faster core speed and claim that your application would run faster. And this is generally true, though at the higher core speeds, other issues come into play that de-empahasize it. (e.g. memory access times, bus throughput, etc.).
Core speeds are approaching maximum practical rates, so the uP's are getting "wider" to provide more performance on the same die (though some of the "multi-core" uP's are really multi-die).
So now, if a given application is single threaded (almost all commercial PC apps are multi-threaded) OR the app is multi-threaded but doesn't balance the workload amongst the threads, that same app won't run much (or any) faster on a multi-core uP.
So for the multi-core uP's to show substantial performance benefits, applications will have to be not just concurrent, but with some measure of workload balance amongst threads as well.
Yes, the Windows OS's schedule threads from all active processes equally, so overall system operation may improve if your system uses several processes, but any given application may not run any faster.
You can do concurrent design in CVI using their libraries or Win32 SDK directly (or Win64 SDK). But you will have to do the work to balance process workload amongst the threads (and thence the cores), the OS / CVI can't do that for you.
C# and Java have concurrency supported directly in the language. C, C++ do not. You can'y use Java with CVI, there's support for .net (C#) but I've never used it, others may be able to tell you about it.
Menchar