0

私はCプログラミングの初心者です。pthread_mutex_lock今まで、コード領域を 1 つのスレッドだけで実行できることがわかりました。ロックを実装する他の方法はありますか? または、ロックを行う他のすべての方法は、まだpthread_mutex_lock関数を使用していますか?

4

2 に答える 2

4

スレッドは、C11 で ISO C 標準にのみ導入されました。これは、標準のかなり最近の版であるため、まだ広くサポートされているとは限りません。

それを理解するにはthreads.h、関数を調べる必要があります。mtx_*

それ以前は、標準の C (a)ではないため、そのサポートは必須ではありませんでしpthreadsたが、幅広い実装でおそらく最善の策でした。

たとえば、Windows には、 のような関数を使用してスレッド化を行う独自の方法がありますCreateThread

ただし、 POSIX 準拠のオペレーティング システムからのアプリケーションの移植を支援するために、pthreads サポートを Windows に提供することを目的とした、pthreads-win32などのさまざまなサードパーティ製品があります。


(a)これPOSIX 標準 (IEEE 1003.1 の一部) であるため、一部の人にとっては十分である可能性があります。

于 2012-12-06T01:00:23.883 に答える
2

c言語を固定する方法はありません。オペレーティング システムは (言語に関係なく) ロックのサポートを提供する場合があり、ライブラリなどpthreadsはオペレーティング システムのサービスを利用できますが、これは言語のそばにあります。synchronized(対照的に、他の言語には、Java のキーワードなどによってネイティブ ロックが組み込まれています。)

于 2012-12-06T00:56:36.963 に答える