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

What is LoadLibrary function returns?

7 Answers  


How to find the mouse entering an image?..while entering need to display next image...

4 Answers  


What is the size of class

18 Answers   Aircom,


1)How to change a text of a button in runtime?

2 Answers  


What is thread & process?

15 Answers   Exaband,






What are the advantages of using Doc/View or SDI over DialogBox

2 Answers  


how u can move CDC pointer to one line in cview?

2 Answers  


What is the use of CObject::Dump function ?

4 Answers  


What is the use of OninitDialog ?

11 Answers   HCL, Nagarro,


I have 2 threads. One thread prints odd numbers and the second thread prints even numbers. Now, I have to execute the threads alternatively so that i can output 1,2,3,4,5,6,..... write code for this?

1 Answers  


What is socket?

3 Answers  


What is the difference between Synchronous sockets and asynchronous sockets?

2 Answers  


Categories