What is Thread ?(VC++)What is the difference between Cmutex
and Csemaphone?
Answers were Sorted based on User's Feedback
Answer / jitendra
An object of class CMutex represents a "mutex" ? a
synchronization object that allows one thread mutually
exclusive access to a resource. Mutexes are useful when
only one thread at a time can be allowed to modify data or
some other controlled resource. For example, adding nodes
to a linked list is a process that should only be allowed
by one thread at a time. By using a CMutex object to
control the linked list, only one thread at a time can gain
access to the list.
An object of class CSemaphore represents a "semaphore" ? a
synchronization object that allows a limited number of
threads in one or more processes to access a resource. A
CSemaphore object maintains a count of the number of
threads currently accessing a specified resource.
| Is This Answer Correct ? | 12 Yes | 2 No |
Answer / k.santhoshkumar
A thread is basically a path of execution through a
program. It is also the smallest unit of execution that
Win32 schedules. A thread consists of a stack, the state of
the CPU registers, and an entry in the execution list of
the system scheduler. Each thread shares all the process's
resources.
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / mahesh vanama
A mutex provides mutual exclusion, either producer or consumer can have the key (mutex) and proceed with their work. As long as the buffer is filled by producer, the consumer needs to wait, and vice versa.
A semaphore is a generalized mutex. In lieu of single buffer, we can split the 4 KB buffer into four 1 KB buffers (identical resources). A semaphore can be associated with these four buffers. The consumer and producer can work on different buffers at the same time.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / zero zero
CMutex CSemaphore
Allows at most one thread allows more than one thread to
access the resource(RES) Access the RES simultaneousl
y
Prevents more than one It allows more that
one thread 2
Thread to access the res access the resource
Using mutex, we can Using semaphore, we can
sync
Synchronize one/more threads threads with in the process
In different process or with in
Process.
CMutex is a single lock CSemaphore is a
multilock.
CMutex Implementation CSemaphore Implementation
API’s in CMutex Dev:
::Create Mutex() ::CreateSemaphore()
::WaitForSinglrObject() ::WaitForSinglrObject
()
::WaitForMultipleObject
() ::WaitForMultipleObject()
::Release Mutex() ::Release Semaphore
()
::CloseHand
le()
| Is This Answer Correct ? | 0 Yes | 2 No |
Answer / dhanya shajit
Thread is the smallest set of instructions that can be
executed.
Cmutex and Csemaphore are the ways used for synchronization
purpose.
the difference between the above two is..Cmutex is a single
lock where as csemaphore is a multilock..
mutex is used for mutual exclusion while semaphore is a
synchonozation variabl
| Is This Answer Correct ? | 4 Yes | 7 No |
2.create for 10 batch: Employee_Number Employee_name Employee_Dateofjoining Employee_address Employee_salary 1.select the employee name who deriving more than 10 thousand salary and joined before august 08. use structure and pointers
What is the base class for MFC Framework ?
1)how to Display the File Dialog Box, in MFC ?
visual Pogramming c++ coding for create a paint application.. (Please someone help me)
How can update edit control data of an executing application from other application?
what is the difference between compiling and building?
Can you explaing the relashionship between document,frame and view ?
What is Thread ?(VC++)What is the difference between Cmutex and Csemaphone?
Which CPrintInfo member variable must be set for multiple page printouts?
Tell me about different kinds of synchranization objects ?
What is the base class for MFC
1)why we cant create more than one instance of the class Derived from CWinApp