What is a critical section and how is it implemented?

Answers were Sorted based on User's Feedback



What is a critical section and how is it implemented?..

Answer / somu


Critical Section:-
In concurrent programming a critical section is a piece of
code that accesses a shared resource (data structure or
device) that must not be concurrently accessed by more than
one thread of execution. A critical section will usually
terminate in fixed time, and a thread, task or process will
only have to wait a fixed time to enter it. Some
synchronization mechanism is required at the entry and exit
of the critical section to ensure exclusive use.
for example a printer, can only be accessed by one process
at a time.
Example Code For Critical Sections with Win32 API: -
#include <windows.h>
CRITICAL_SECTION cs; /* This is the critical section
object -- once initialized, it cannot
be moved in memory */
/* Initialize the critical section -- This must be done
before locking */
InitializeCriticalSection(&cs);

/* Enter the critical section -- other threads are locked
out */
EnterCriticalSection(&cs);

/* Do some thread-safe processing! */

/* Leave the critical section -- other threads can now
EnterCriticalSection() */
LeaveCriticalSection(&cs);

/* Release system object when all finished -- usually at
the end of the cleanup code */
DeleteCriticalSection(&cs);

Is This Answer Correct ?    10 Yes 2 No

What is a critical section and how is it implemented?..

Answer / umesh

Critical Section allows you to explicitly lock any resources so that untill u release the lock no body else can able to access it. Resource can be any thing. for example a variable, or a piece of code..

We can use Either CRITICAL_SECTION structure with the help of EnterCriticalSection and LeaveCriticalSection APIs.
Or MFC wrapper, CCriticalSection type variable. which gives u lock and unlock mechanism

Is This Answer Correct ?    2 Yes 2 No

Post New Answer

More MFC Interview Questions

i have created runtime menu -- ( admistrator ->managepackage,manage module). but now i want to open a dialog when i select manage package and any other diaolg when selecting manage module ( whole selection is at run time only ) . Please HELP .its urgently required

3 Answers   Patni,


how to give colour for dialog button or static buuto?any one explain full code ?pls pls

3 Answers  


What is stack size in win32 program?

1 Answers   HCL,


1)set the Title for The File DialogBox, in MFC?

1 Answers  


1)why we cant create more than one instance of the class Derived from CWinApp

5 Answers   Alstom,






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);

2 Answers  


1)dynamic creation of a Button ?

2 Answers   TCS,


how can u change button shape at run time

3 Answers   Samsung,


What is socket?

3 Answers  


What is the command routing in MFC framework?

3 Answers  


What is primitive and non-primitive application?

2 Answers   HCL,


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

2 Answers  


Categories