What is a mutex and a critical section.Whats difference
between them?How do each of them work?
Answers were Sorted based on User's Feedback
Answer / prasenjit roy
Mutex is a locking object ( like a flag ) for avoiding the
simultaneous use of a common resource. It is also used to
lock the critical section.
Ctitical Section :: is a block of code which should run
atomically ie. there should be no contact switching while
this block executes and once the block starts it should
finish without any interruption.
| Is This Answer Correct ? | 10 Yes | 0 No |
Answer / achal ubbott
Above answers are correct.now I tell why?
1. Critical Section Object works faster because Critical
section is a user object and is specific to a process.
Where as a Mutex is a kernel object and so many
processes running over the kernel can lock or
unlock/release it. So it is a bit heavier than Critical
Section and thus slow.
2. When control enters the critical section the interrupts
(from various devices like FEC, UART etc. ) to the CPU core
are disabled
| Is This Answer Correct ? | 7 Yes | 0 No |
Answer / edward
Both of them are synchronization objects .Critical section
used for snychronization of threads in a same
process.Mutexs used for sybchronizating a threads in diff
process
| Is This Answer Correct ? | 7 Yes | 2 No |
Answer / vikas
Both of them are synchronization objects.
Critical sections are used for intraprocess synchronization
while mutexes are required for interprocess
synchronization. The latter is much heavier in terms of
resources consumed.
Vikas
http://www.cppquestions.com
| Is This Answer Correct ? | 7 Yes | 3 No |
Discussion on error handling of C++ .
What are c++ variables?
if int1 has the value 12, int has the value 18, and int3 has the value 21, what is the result: int1 < int2 && int2 < int 3
What character terminates all character array strings a) b) . c) END
How to create a pure virtual function?
Is c++ fully object oriented?
What is std namespace in c++?
What is the difference between a pointer and a link in c ++?
Out of fgets() and gets() which function is safe to use and why?
Memory is not a constraint. In a single iteration(NOTE: you can't go back), how will you find out the 10th last node/item in a linked list.
16 Answers BNB, FDS, Goldman Sachs, Nagarro,
Can a constructor be private?
Do vectors start at 0?