私はCプログラミングの初心者です。pthread_mutex_lock
今まで、コード領域を 1 つのスレッドだけで実行できることがわかりました。ロックを実装する他の方法はありますか? または、ロックを行う他のすべての方法は、まだpthread_mutex_lock
関数を使用していますか?
2 に答える
スレッドは、C11 で ISO C 標準にのみ導入されました。これは、標準のかなり最近の版であるため、まだ広くサポートされているとは限りません。
それを理解するにはthreads.h
、関数を調べる必要があります。mtx_*
それ以前は、標準の C (a)ではないため、そのサポートは必須ではありませんでしpthreads
たが、幅広い実装でおそらく最善の策でした。
たとえば、Windows には、 のような関数を使用してスレッド化を行う独自の方法がありますCreateThread
。
ただし、 POSIX 準拠のオペレーティング システムからのアプリケーションの移植を支援するために、pthreads サポートを Windows に提供することを目的とした、pthreads-win32などのさまざまなサードパーティ製品があります。
(a)これはPOSIX 標準 (IEEE 1003.1 の一部) であるため、一部の人にとっては十分である可能性があります。
c
言語を固定する方法はありません。オペレーティング システムは (言語に関係なく) ロックのサポートを提供する場合があり、ライブラリなどpthreads
はオペレーティング システムのサービスを利用できますが、これは言語のそばにあります。synchronized
(対照的に、他の言語には、Java のキーワードなどによってネイティブ ロックが組み込まれています。)