Loading article…
beginthread関数は、現在のプロセス内に新しい実行スレッドを作成します。これは、 Microsoft Windows ランタイム ライブラリの一部であり、process.hヘッダー ファイルで宣言されています。
プロトタイプ
符号なしlong _beginthread ( void ( * Func )( void * ),符号なしStack_size , void * Arg );
機能
スレッドの実行は関数の先頭から始まりますfunc。スレッドを正しく終了するには、funcを呼び出す_endthreadか、「return 0」で終了して、スレッドをサポートするためにランタイム ライブラリによって割り当てられたメモリを解放する必要があります。
スタックサイズ
オペレーティングシステムは、 で指定されたバイト数を含むスタックをスレッドに割り当てますstack_size。 の値stack_sizeがゼロの場合、オペレーティングシステムはメインスレッドと同じサイズのスタックを作成します。[1]
アーグ
実行が開始されると、オペレーティング システムは Arg を Func に渡します。void Arg* にキャストされた任意の 32 ビット値にすることができます。
戻り値
新しく作成されたスレッドのオペレーティング システム ハンドルを返します。失敗した場合、関数は -1 を返し、errno を設定します。
コンパイラスイッチ
Microsoft C/C++ コンパイラで複数のスレッドを使用してプログラムをコンパイルするには、/MTスイッチ (デバッグ プログラムの場合は/MTd ) を指定する必要があります。
参考文献
- ^ MSDN _beginthread
