Hi can anyone explain about the synchronization objects
types and where we are using in the code.
Answer / nishant
CRITICAL_SECTION :- CRITICAL_SECTION (CS) objects are initialized and deleted but do not have handles and are not shared by other processes. A variable should be declared to be of type CRITICAL_SECTION. Threads enter and leave a CS, and only one thread at a time can be in a specific CS. EnterCriticalSection blocks a thread if another thread is in the section. The waiting thread unblocks when another thread executes LeaveCriticalSection. If a thread already owns the CS, it can enter again without blocking; that is, CRITICAL_SECTIONs are recursive. CRITICAL_SECTIONs have the advantage of not being kernel objects and are maintained in user space. This usually, but not always, provides performance improvements.
Mutex: - mutexes can be named and have handles, they can also be used for interprocess synchronization between threads in separate processes. Mutex objects are similar to CSs, but, in addition to being process-sharable, mutexes allow time-out values and become signaled when abandoned by a terminating process.A thread gains mutex ownership (or locks the mutex) by waiting on the mutex handle (WaitForSingleObject or WaitForMultipleObjects), and it releases ownership with ReleaseMutex.
Semaphore :- Semaphores maintain a count, and the semaphore object is signaled when the count is greater than 0. The semaphore object is unsignaled when the count is 0.
Event :- Events are used to signal other threads that some event, such as a message being available, has occurred.
| Is This Answer Correct ? | 3 Yes | 0 No |
Will there be any difference in the image buffer size if it is loaded in from CString to LPTSTR using GetBuffer()? lptstr = string.GetBuffer(0);
If application hangs while SendMessage is waiting for the result, how you handle it?
1)does Frame Thickness in MFC?
What is the use of CCmdTarget ?
1)How to load an icon on a button as Dynamically ?
What is the difference between ASSERT and VERIFY?
1)At run-time, you can change the icon by calling the LoadIcon() function?
Have you ever used win32 APIs ?
What view class enables you to use an edit control as a view?
What is LoadLibrary function returns?
Which MFC function is used to display output?
Whats is DDX & DDV in MFC?