2011-04-09 9 views
0

Linux上でpthreadミューテックスのラッパーを書きたいOS抽象化ライブラリーを作成しています。スレッドセーフなpthreadミューテックスロックラッパー

このコードは、複数のスレッドによって呼び出されます。

コードは次のようなものになる:

int my_lock(pthread_mutex_t *mutex) 
{ 
    return pthread_mutex_lock(mutex); 
} 
  1. を機能my_lockもスレッドセーフになりますでしょうか?
  2. もしそうでなければ、それをスレッドセーフにするには?

答えて

2

これは、あなたの関数として掲載するものです。

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

は、なぜあなたはここでも機能が必要なのでしょうか?

コードは、あなたがそれを提示したようにスレッドセーフです。

0

ネストされた関数呼び出しのようです。 pthread_mutex_lockを返す代わりに、ルーチンですぐに使用できます。これにより、1つの関数から別の関数へのジャンプ命令を避ける実行時間が短縮されます。