Hello, this is the first time I need to use semaphores, yes it is for an assignment. I have trouble wrapping my head around the concept. Come to think of it, wrapping a solid spheroidal body around an idea isn't trivial by itself, but anyway I disgress.
I have to write a little program that simulates a network. There are several computers in the network. Only one computer can be executing at any given time, and they must execute one after the other. Also, each computer is responsible for telling the "next" computer that it is its time to execute.
I am supposed to use semaphores to synchronize this. Now I don't see really how can semaphores help me do this. My first idea would be to make a "cycle" object, protected with a mutex, so only one computer can own the cycle at any given time. The computer could write in a global variable the id of the next computer and unlock the mutex when it's done. However, we're supposed to use semaphores, not mutexes.
Question
Andre S. Veteran
Hello, this is the first time I need to use semaphores, yes it is for an assignment. I have trouble wrapping my head around the concept. Come to think of it, wrapping a solid spheroidal body around an idea isn't trivial by itself, but anyway I disgress.
I have to write a little program that simulates a network. There are several computers in the network. Only one computer can be executing at any given time, and they must execute one after the other. Also, each computer is responsible for telling the "next" computer that it is its time to execute.
I am supposed to use semaphores to synchronize this. Now I don't see really how can semaphores help me do this. My first idea would be to make a "cycle" object, protected with a mutex, so only one computer can own the cycle at any given time. The computer could write in a global variable the id of the next computer and unlock the mutex when it's done. However, we're supposed to use semaphores, not mutexes.
Oh and it's POSIX semaphores and pthreads btw.
Thanks.
Link to comment
Share on other sites
13 answers to this question
Recommended Posts