- 1 year ago
Would the function pthread_cleanup_push() work with threads created with _beginthreadex()?
No, the function pthread_cleanup_push()
is part of the POSIX threading API (pthreads), whereas _beginthreadex()
is specific to the Windows API for creating threads.
The pthread_cleanup_push()
function is used in conjunction with the pthread_cleanup_pop()
function in POSIX threads to define a cleanup handler that will be executed when a thread is canceled or exits normally. These functions are not compatible with threads created using _beginthreadex()
.
In Windows, when using _beginthreadex()
to create threads, you would typically use the corresponding functions provided by the Windows API to handle cleanup or thread termination, such as ExitThread()
or CloseHandle()
. These functions allow you to perform cleanup actions when a thread terminates or needs to be canceled.
If you need to implement cleanup functionality for threads created using _beginthreadex()
, you would need to use the appropriate Windows API functions to handle the cleanup or termination logic.