Hi Isaac,
1) I recommend that you use the MCUXpresso IDE (MCUXpresso IDE|NXP ) with the MCUXPresso SDK (Welcome to MCUXpresso | MCUXpresso Config Tools ): that way you get everything and you don't have to worry about all the parts and all the setup. Of course you can build your own toolchain and IDE, but this requires a decent knowledge of all the parts and pieces. I wrote several tutorials (see Breathing with Oxygen: DIY ARM Cortex-M C/C++ IDE and Toolchain with Eclipse Oxygen | MCU on Eclipse ), but again I recommend this only if you are really an expert and if you have very special needs. And again: get the MCUXpresso IDE and then you have something working and a solid base (you still could do a DIY afterwards if you really insist).
2) the standard way is to use FreeRTOS (freertos.org). Here again you have everything setup for you in the MCUXpresso SDK and MCUXpresso IDE. This gives you threads/mutexes/semaphores plus all the needed debug views inside the MCUXpresso IDE and C++ support.
3) Here again, I recommend to use the MCUXpresso IDE which comes with the GNU gcc toolchain. The current version of the IDE is v10.0.2, but there will be a new version in the near future which integrates the latest GNU toolchain with all the latest bells and whistles for C++. It supports the P&E, Segger and LPC-Link2 (CMSIS-DAP, LinkServer) debug probes (see LPC-Link2 Debug Probe | MCU on Eclipse ).
I hope this helps,
Erich