2008-05-06

C++0xのThreadライブラリ

今度はスレッドのライブラリの規格を読んでみることにした。

Atomic operations libraryは、まあ、特に問題は無いと思う。名前が気に入らないけれど。個人的には、read/writeのほうが分かりやすいんだけど、load/storeになっている。

肝心のスレッドライブラリはどうかというと。だいぶPOSIXよりになっている。これではPOSIX信者はいいとしても、私のようなWindows信者はどうすればいいのかと思ってしまう。がしかし、どうやら救いはあるようだ。30.1.3 Native handlesによって、Win32 APIは問題なく使えるだろう。POSIX側にとっても、問題は無い。ポータビリティはないにしてもだ。

結局のところ、C++では、それほど深く、スレッドライブラリ自体については規定せずに、ただ最小限ライブラリは用意するということなのだろうか。もう規格制定まで時間もないし。atomic oerationと、Mutexと、Condition Variableだ。ここでいうMutexは、Windowsで言えば、クリティカルセクションなのだが。

No comments:

Post a Comment

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.