What is a critical section and how is it implemented?

Answer Posted / 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



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

I want recent paper pattern for HP company?

1781


How to handle dynamic menus in mfc? What happens when client calls cocreateinstance?

689


plzz tell me what we can do and dont in tally ERP & sap business one?

1876


What is mfc class hierarchy?

613


what is the meaning of constant FILE EXCEEDS LENGTH LIMIT while loading from ps file to vsam in the jcl?

3338






Do you have an idea about MFC?

910


What does mfc stand for?

954


what message is sent to an application when the user presses the primary button?

1384


List out the basic features of MFC.

13677


how to repaint when working with horizontal scroll bar

1542


How do I create a dialog box in mfc?

607


What is the difference between Struts and JSF? Pls list some most suitable differences.

2843


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

1807


what is functioning of DIalodDataXchange ..?

1187