2016-11-21 5 views
0

C++/C#/ Javaでは、いくつかの引数を受け入れる関数を使ってスレッドを開始できます。 WinAPIでは、void *のみを受け付ける関数を使ってスレッドを開始します。 実際のWindowsスレッドに本当にいくつの引数が渡されますか?たぶん、多くの引数はvoid *になっているので、構造体上の点を指していますか?ウィンドウ内のスレッドに渡される引数の数

答えて

0

ほとんどのスレッドAPIのコアには、実行する関数ポインタと、実行中の関数に何らかのデータを提供できるvoid *パラメータがあります。 void *は通常、あるオブジェクトインスタンスを指し、そのスレッド関数は使用する既知のオブジェクトタイプにキャストします。しかし、これはプログラマーのエラーが熟しています。

あなたが言及している上位レベルのAPI(C++のstd :: thread、Javaのスレッドなど)は、これをフードの下で行い、便利なタイプセーフなAPIを提供しています。

関連する問題