Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

What is the difference between mutex and semaphore?

Answer Posted / sushant gupta

Mutex vs. Semaphore

The easiest way to understand the difference is to look at
it as a real life situation::

Scenario 1:

There is a room with three (could be more) chairs for
people to sit. Any number of people can attempt to enter
the room. How do you ensure
that all the people who enter the room do so only if a seat
is available.

Answer:- You assign a gatekeeper who guards the door ??

Scenario 2:

Lets us say there is another room with only one chair, so
only one person can be in at any time. How do you ensure
that.

Same answer:- assign a gatekeeper.

Mutexes and Semaphores are both gatekeepers. We now have to
make a choice between which gatekeeper to use.

The gatekeeper in the first scenario has to be an
intelligent one, as he has to do some math. He has to keep
count of how many people are
currently in, how many are going out etc. So if ten people
are waiting to get in (because the room is currently full),
the gatekeeper has to
keep all of them waiting. When two of them leave, he notes
that and allows two people to get in.

The gatekeeper in the second scenario can afford to be
dumb, he just checks if the room is full or empty and lets
one person in if it is
empty. No math, simple.

Semaphore is the intelligent gatekeeper as it keeps track
of number of threads that are allowed to access the
resopurce it protects.

Mutex is the dumb guy, he allows only one thread to access
his resource.



(reference:-
http://www.sharpprogrammer.com/multithreading/difference-
between-mutex-and-semaphore/

Is This Answer Correct ?    62 Yes 9 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What do you understand by transaction atomicity?

1076


What are significance of semaphores?

1224


Difference between short term, long term and medium term scheduler.

1306


Why Thread behavior is unpredictable?

1426


What is the difference between shared memory and message passing?

1164


What is the purpose of port forwarding?

1092


What is tras timing?

1113


How do I enable macros?

1048


What are the benefits and losses of placing the functionality in a device controller rather than in placing it in the kernel?

1192


What grep means?

970


What is context in operating system?

1043


How does DMA increase system concurrency? How does it complicate hardware design?

1327


Can a system detect starvation?

1056


What are residence monitors?

1224


What are dynamic loading?

1146