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: