pthread_init_mutex problem

5qduh001@sneakemail.com 5qduh001@sneakemail.com
Sat May 4 10:42:00 GMT 2002


I'd be interested in measurements comparing calling pthread_mutex_init() vs. using PTHREAD_MUTEX_INITIALIZER.

I.e the code from the earlier e-mail:
pthread_mutex_t mutex;
assert(pthread_mutex_init(&mutex, NULL) == 0);

vs.

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;

I haven't looked at the win32 pthread source to see what happens in either, but I can only imagine that the latter would be more efficient if the implementation in win32 pthreads is anything like what most other implementations do (a linux implementation in this case), basically:

pthread_mutex_t mutex = {0, 0, 0, PTHREAD_MUTEX_FAST_NP, {0, 0}};

As I understand it, using PTHREAD_MUTEX_INITIALIZER should also allow you to avoid the call to pthread_mutex_destroy() thus another saving.

If the PTHREAD_MUTEX_INITIALIZER is faster as I suspect, please let us know and by roughly how much :).

Good luck,
Dave

-----------------------------------------------------
Protect yourself from spam, use http://sneakemail.com



More information about the Pthreads-win32 mailing list