osfmk/man/thread_create.html
Function - Create a thread within a task.
**kern\_return\_t thread\_create**** (task\_t **parent\_task,** thread\_act\_t **child\_thread** );**
parent_task[in task send right] The port for the task that is to contain the new thread.
child_thread[out thread send right] The kernel-assigned name for the new thread.
The thread_create function creates a new thread within parent_task. The new thread has a suspend count of one and no processor state.
The new thread holds a send right for its thread kernel port. A send right for the thread's kernel port is also returned to the calling task or thread in child_thread. The new thread's exception ports are set to MACH_PORT_NULL.
To get a new thread running, first use thread_set_state to set a processor state for the thread. Then, use thread_resume to schedule the thread for execution. Alternately, use thread_create_running.
Only generic errors apply.
Functions: task_create, task_threads, thread_get_special_port, thread_get_state, thread_resume, thread_set_special_port, thread_set_state, thread_suspend, thread_terminate, thread_create_running.