Spawn threads in port driver

Hi there!

Does it mandatory to spawn threads in port driver through erl_drv_thread_create and this function family, or I could use std::thread or similar?

I want to make some async calculations (call network) and return result throght driver_output. I know, that there is driver_async, but I want to understand about std::thread (future, promise , etc).