thread
    Location for thread object to be created.
 attr
    Thread attributes object that defines the characteristics of the
    thread being created. If you specify NULL, default attributes are
    used.
 start_routine
    Function executed as the new thread's start routine.
 arg
    Address value copied and passed to the thread's start routine.