Потокобезопасные обертки с замком pthread mutex - PullRequest
0 голосов
/ 09 апреля 2011

Я пишу библиотеку абстракций ОС, для которой я хочу написать оболочки для pthread mutex в Linux.

Этот код должен вызываться несколькими потоками.

Код выглядит примерно так:

int my_lock(pthread_mutex_t *mutex)
{
    return pthread_mutex_lock(mutex);
}
  1. Будет ли функция my_lock также поточно-ориентированной?
  2. Если нет, то как сделать потокобезопасным?

Ответы [ 2 ]

2 голосов
/ 09 апреля 2011

Это то, что вы опубликовали в качестве своей функции:

int my_lock(pthread_mutex_t *mutex) 
{ 
    return pthread_mutex_lock(mutex); 
}

Зачем вам здесь нужна эта функция?

Код является потокобезопасным, как вы его представили.*

0 голосов
/ 10 июня 2014

Это похоже на вызов вложенной функции .. Вместо того, чтобы возвращать pthread_mutex_lock, его можно использовать сразу же в процедуре. Это сократит время выполнения, избегая инструкции перехода от одной функции к другой.

...