Concurrent processes in MCUs
FPGAs have concurrent execution not by threads, but by real parallel execution paths. There may be some gates on one part of the die performing an addition while other gates on another part of the die are performing another addition.

Threads are one of many programming abstractions that make it seem as if a CPU can execute multiple tasks when really it can't (multitasking). You wouldn't simulate threads on a Cortex -- you would just implement them, or more likely by selecting an operating system or library that has already implemented the functionality for you.

Regardless of what you do, be it cooperative multitasking, preemptive multitasking, interrupt (event) driven processing, you will have to handle the reality that each CPU can do only one thing. If you need to do something else, the thing you were doing must necessarily be interrupted or it must yield control. If you truly need to do more than one thing, you need more than one CPU, or a CPU with multiple cores.

The problem then becomes balancing the need to do things now with the need to also do other things. Real-time operating systems have been developed to address this problem. Depending on the complexity of your problem and your needs, a RTOS may be overly complex, and you will just have to do what you can to minimize the impact of multitasking and interrupts on your program. Usually this means setting appropriate interrupt priorities if the platform supports it, and keeping interrupt handlers quick to minimize interrupt latency.