Say I am writing a pthread wrapper. I try to assign unique ids to threads in thread creation phase so that I can make the execution deterministic. How can I let each thread
You cannot force the system to use an id of your chosing.
As per @Lazin comment: pthread_self()
will tell the pthread the id the system has given it.
If you want to allocate your own id (eg some small integer) then clearly you can do that and pass it into the pthread with any other args passed using the void* arg
argument (the last argument) of pthread_create()
.