Quelle différence entre ce code: et le code: p>
3 Réponses :
Aucune différence pratiquement. MSDN dit, < / p>
la fonctionnalité de la
La classe CCriticalSection est fournie par
une critique_section de Win32 réelle
objet. p>
blockQuote> CCRITICALSECTION CODE> est le seul Syntatisme em> sucre du premier. Il interne strong> utilise Entriticalsection code> et leavecriticalsection! Code> p>
Entriticalsection code> et Leavecriticalsection code> sont des API Win32 de bas niveau, tandis que CCRITICALSection code> est une classe MFC qui enveloppe ces fonctionnalités. Il a une donnée de membre de type critical_section code> utilisé par les API. P>
Il encapsule critical_section code> structure et les quatre opérations - initializecrriticalsection () code>, EntricheSection () code>, Leavecriticalsection () code > et Suppression () code> dans une seule classe rendant plus pratique pour écrire du code. P>
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