What is Thread ?(VC++)What is the difference between Cmutex
and Csemaphone?

Answers were Sorted based on User's Feedback



What is Thread ?(VC++)What is the difference between Cmutex and Csemaphone? ..

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

What is Thread ?(VC++)What is the difference between Cmutex and Csemaphone? ..

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

What is Thread ?(VC++)What is the difference between Cmutex and Csemaphone? ..

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

What is Thread ?(VC++)What is the difference between Cmutex and Csemaphone? ..

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

What is Thread ?(VC++)What is the difference between Cmutex and Csemaphone? ..

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

Post New Answer

More MFC Interview Questions

Explain Doc/View architecture

6 Answers   Huawei,


How to update windows title bar dynamically?

7 Answers   HCL,


If application hangs while SendMessage is waiting for the result, how you handle it?

2 Answers  


What function is used to retrieve the currently selected index in a list box?

2 Answers  


What interface must be supported by an ActiveX control?

2 Answers  






What is difference between the TCP/IP and UDP socket

5 Answers   Invensys,


How to handle command line arguements from simple MFC application ?

2 Answers   TCS,


How do you change the properties for a tree view control that is part of the CTreeView class?

1 Answers  


What is LPCTSTR? What does LP denote it?

4 Answers  


How can server communicate with more than one client

2 Answers   Invensys,


How can we create thread in MFC framework?

3 Answers  


how many types of messages are their

4 Answers   E Logic, TCS,


Categories