How to thread with message
Hi I am using unix pthreads and I need to send an int from one thread to another. How do I do this using semaphores?
Threads share global integers, so getting to the integer variable itself should be no problem for either thread. Or the data passed in when the thread is created could include a pointer to that int.
As for semaphores, I haven't played with them much, but by the book (Beginning Linux Programming, 2nd edition):
1. declare the semaphore as a global so that all threads can access it.
2. call sem_init(&sem) to initialize the semaphore.
3. the thread wanting to read the int calls sem_wait(&sem), which blocks until the semaphore is posted.
4. the thread writing to the int calls sem_post(&sem)
5. when everyone is done with the semaphore, call sem_destroy(&sem)