- ベストアンサー
Windowsのスレッドの名称
Windowsで作成されるスレッドの呼称が正式になんと呼ばれているのか判らず困っています。 僕はこれまで「Win32 API Thread」と呼んでいましたが、先輩は「Win32 Thread」と呼んでいました。さらに知人には「Windows Thread」や「Windows Native Thread」と呼ぶ人もいます。googleで検索したところ、件数に差異はあってもどの呼称も使用している人は少なからずいるようです。 例えばpthreadのように、設計書のような正式なドキュメントに記載するときはどの呼称が正しいのでしょうか?それとも別の正式呼称があるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その場合Microsoftの正式回答だけが回答ですので、 直接問い合わせされるのが一番かと思います。 その結果、何もつけない「Thread」が正式名称です、 といわれたりするかもしれませんが…。 もしもこうなると何らかの呼称を定義しないと混乱しますね。 いずれにしても、仕様書の先頭で用語定義すると思いますので、参考になるかはわかりませんが、過去の私の例を書いておきます。 「公式」である必要は無かったので、用語定義の上で、こんな感じにしました。 いずれかに限定するときは、「POSIX pthread」「Windows thread」、 区別なく書くときは「スレッド」。
その他の回答 (1)
- MrBan
- ベストアンサー率53% (331/615)
「正式」の定義はなんでしょう? Microsoftの公称という意味ではどれだか分かりません。 Microsoftに確認されるのがよいでしょう。 個人的な意見でいえば、 Microsoftとしては単に「Thread」と書けばWindowsのThreadに決まっているということで、特に接頭語はないような気がしてます。 つまり、Windows thread という単語は、Windows の thread というだけの話で、話のスコープ次第で Win32 の thread だったりする。 microsoft.comを検索する限りでは、 「Win32 API Thread」は記事の中にちょっと(3件)出てくるくらいですね。 私はWindows thread(またはWin32 thread)と呼んでいましたが、これらも両方とも見つかります。(ともに100件程) Windows Native Thread という呼称は、.NET framework上にも Threadと呼ばれるものが現れてから区別する意味でよく出てくるようです。 それが仕様書だとしても、意味するものが一意に特定できるなら、文書のスコープ次第で表現が変わっていいと、私は思います。(文書内では当然一意である必要がありますが) そこで、Win64とWin32の違いがthreadに関して重要ならWin32かも知れませんし、 POSIXとの区別が重要ならWindows threadと書くかも知れませんし、 .NETと区別が必要ならnativeの文字は理解を促進するでしょう。
補足
「正式」の定義はMSの公称を期待しています。 MSDNを見てもMrBanさんがおっしゃる通り、Threadとしか書かれていません。 確かにスコープが決まっていれば問題はないのですが、ドキュメントにpthreadと並べて書く場合、ThreadがWindows上のThreadだけを指しているのか、pthreadも含めた上で指しているのか判りづらいためです(文脈から察することは可能かもしれませんが、技術者でない方に読んでもらうこともあるので、違いを明確にしたいと考えています) ひとまずMSに問い合わせてみます。
お礼
MrBanさん、たびたびありがとうございます。 MrBanさんの経験則は参考にさせていただきます。 # MSにはもう少し調べてから問い合わせます。