MVMObject * MVM_thread_new(MVMThreadContext *tc, MVMObject *invokee, MVMint64 app_lifetime); void MVM_thread_run(MVMThreadContext *tc, MVMObject *thread); void MVM_thread_join(MVMThreadContext *tc, MVMObject *thread); MVMint64 MVM_thread_id(MVMThreadContext *tc, MVMObject *thread); MVMint64 MVM_thread_native_id(MVMThreadContext *tc, MVMObject *thread); MVMint64 MVM_thread_current_os_thread_id(MVMThreadContext *tc); void MVM_thread_yield(MVMThreadContext *tc); MVMObject * MVM_thread_current(MVMThreadContext *tc); MVMint64 MVM_thread_lock_count(MVMThreadContext *tc, MVMObject *thread); MVMint32 MVM_thread_cleanup_threads_list(MVMThreadContext *tc, MVMThread **head); void MVM_thread_join_foreground(MVMThreadContext *tc); void MVM_thread_set_self_name(MVMThreadContext *tc, MVMString *name);