6
votes

Que fait la ccrriticalsection?

Quelle différence entre ce code: xxx

et le code: xxx


0 commentaires

3 Réponses :


9
votes

Aucune différence pratiquement. CCRITICALSECTION est le seul Syntatisme sucre du premier. Il interne utilise Entriticalsection et leavecriticalsection!

Entriticalsection et Leavecriticalsection sont des API Win32 de bas niveau, tandis que CCRITICALSection est une classe MFC qui enveloppe ces fonctionnalités. Il a une donnée de membre de type critical_section utilisé par les API.

MSDN dit, < / p>

la fonctionnalité de la La classe CCriticalSection est fournie par une critique_section de Win32 réelle objet.


0 commentaires

2
votes

Il encapsule critical_section structure et les quatre opérations - initializecrriticalsection () , EntricheSection () , Leavecriticalsection () et Suppression () dans une seule classe rendant plus pratique pour écrire du code.


0 commentaires

8
votes

Si vous l'utilisez de cette façon, il n'y a pas de différence. Le principal avantage de la classe est si vous l'utilisez comme suit:

static CCriticalSection cs;
{
  CSingleLock lock(cs, true);
  // do your work here
} // unlocked automatically


0 commentaires