Cores have nothing to do with threads.
Please for the love of God stop confusing the two.
You can multi-thread on a single core if you want. Cores help to spread processing load horizontally across the CPU instead of having to ramp up the clock speed to do the same job.
The DCS.exe process has one main thread and that executes top to bottom. If you want to multi-thread you must decide what parts of the process can be done asynchronously without affecting the overall processing chronology. Some routines must be executed in order while others can execute at anytime.
It's not as simple as it sounds and depends on how tied together many of the routines are. You can open up a can of worms in terms of memory access since you are no longer just adding to a heap. Memory must be managed in such a way that async rountines don't conflict with each other. In managed code like C# that's easy as it's all taken care of (look at Task Parallel Library) while in C++ an appropriate memory manager must be employed to marshal read/writes.
That said there are few quick wins with threading. Loading of resources, such as textures and models can be done asynchronously, that is, the system can load up many resources at the same time instead of one after the other. Also, it could be possible to load assets during the game on another thread as to reduce load in stutter. The downside of this is that assets may not appear at exactly the right time and you may get pop-ins. This is the nature of the async beast. You must identify what routines are ok to siphon off to be async.
Lets be clear though, threading has nothing to do with cores. At all. It's a programming technique and this technique is architecturally independent.