Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Aşağıdaki örnekte, korumalı bir kod gövdesinin yürütülmesi sonlandırıldığında kaynakların serbest bırakıldığından emin olmak için sonlandırma işleyicisinin nasıl kullanıldığı gösterilmektedir. Bu durumda iş parçacığı, kritik bir bölüm nesnesinin sahipliğini beklemek için EnterCriticalSection işlevini kullanır. İş parçacığı kritik bölüm tarafından korunan kodu yürütmeyi bitirdiğinde, kritik bölüm nesnesini diğer iş parçacıklarının kullanımına açmak için LeaveCriticalSection işlevini çağırması gerekir. Sonlandırma işleyicisi kullanmak, bunun gerçekleşeceğini garanti eder. Daha fazla bilgi için kritik bölüm nesneleribölümüne bakın.
LPTSTR lpBuffer = NULL;
CRITICAL_SECTION CriticalSection;
// EnterCriticalSection synchronizes code with other threads.
EnterCriticalSection(&CriticalSection);
__try
{
// Perform a task that may cause an exception.
lpBuffer = (LPTSTR) LocalAlloc(LPTR, 10);
StringCchCopy(lpBuffer, 10, TEXT("Hello"));
_tprintf(TEXT("%s\n"),lpBuffer);
LocalFree(lpBuffer);
}
__finally
{
// LeaveCriticalSection is called even if an exception occurred.
LeaveCriticalSection(&CriticalSection);
}