If this function is called from a thread that is not running a
Dex.Scheduler then the default scheduler will be used
to call user_data_destroy.
If the resulting Dex.Future has not resolved or rejected,
then the same scheduler used to call user_data_destroy will be
used to propagate the result to the caller.
Spawns a new thread named
thread_namerunningthread_funcwithuser_datapassed to it.thread_funcmust return a Dex.Future.If this function is called from a thread that is not running a Dex.Scheduler then the default scheduler will be used to call
user_data_destroy.If the resulting Dex.Future has not resolved or rejected, then the same scheduler used to call
user_data_destroywill be used to propagate the result to the caller.