
May 12th, 2003, 12:19 AM
|
 |
Contributing User
|
|
Join Date: Jan 2003
Location: USA
|
|
|
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)
|