東方算程譚

Oriental Code Talk ── επιστημηが与太をこく、弾幕とは無縁のシロモノ。

目次

Blog 利用状況

ニュース

著作とお薦めの品々は

著作とお薦めの品々は
東方熱帯林へ。

あわせて読みたい

わんくま

  1. 東京勉強会#2
    C++/CLI カクテル・レシピ
  2. 東京勉強会#3
    template vs. generics
  3. 大阪勉強会#6
    C++むかしばなし
  4. 東京勉強会#7
    C++むかしばなし
  5. 東京勉強会#8
    STL/CLRによるGeneric Programming
  6. TechEd 2007 @YOKOHAMA
    C++・C++/CLI・C# 適材適所
  7. 東京勉強会#14
    Making of BOF
  8. 東京勉強会#15
    状態遷移
  9. 名古屋勉強会#2
    WinUnit - お気楽お手軽UnitTest

CodeZine

  1. Cで実現する「ぷちオブジェクト指向」
  2. CUnitによるテスト駆動開発
  3. SQLiteで組み込みDB体験(2007年版)
  4. C++/CLIによるCライブラリの.NET化
  5. C# 1.1からC# 3.0まで~言語仕様の進化
  6. BoostでC++0xのライブラリ「TR1」を先取りしよう (1)
  7. BoostでC++0xのライブラリ「TR1」を先取りしよう (2)
  8. BoostでC++0xのライブラリ「TR1」を先取りしよう (3)
  9. BoostでC++0xのライブラリ「TR1」を先取りしよう (4)
  10. BoostでC++0xのライブラリ「TR1」を先取りしよう (5)
  11. C/C++に対応した、もうひとつのUnitTestFramework ─ WinUnit
  12. SQLiteで"おこづかいちょう"
  13. STL/CLRツアーガイド
  14. マージ・ソート : 巨大データのソート法
  15. ヒープソートのアルゴリズム
  16. C++0xの新機能「ラムダ式」を次期Visual Studioでいち早く試す
  17. .NETでマンデルブロ集合を描く
  18. .NETでマンデルブロ集合を描く(後日談)
  19. C++/CLI : とある文字列の相互変換(コンバージョン)
  20. インテルTBBによる選択ソートの高速化
  21. インテルTBB3.0 によるパイプライン処理
  22. Visual C++ 2010に追加されたSTLアルゴリズム
  23. Visual C++ 2010に追加されたSTLコンテナ「forward_list」
  24. shared_ptrによるObserverパターンの実装
  25. .NETでマンデルブロ集合を描く(番外編) ── OpenCLで超並列コンピューティング
  26. StateパターンでCSVを読む
  27. 状態遷移表からStateパターンを自動生成する
  28. 「ソートも、サーチも、あるんだよ」~標準C++ライブラリにみるアルゴリズムの面白さ
  29. インテルTBBの同期メカニズム
  30. なぜsetを使っちゃいけないの?
  31. WPFアプリケーションで腕試し ~C++でもWPFアプリを
  32. C++11 : スレッド・ライブラリひとめぐり
  33. Google製のC++ Unit Test Framework「Google Test」を使ってみる
  34. メールでデータベースを更新するココロミ
  35. Visitorパターンで遊んでみたよ
  36. Collection 2題:「WPFにバインドできる辞書」と「重複を許す検索set」
  37. Visual C++ 2012:stateless-lambdaとSQLiteのぷち拡張
  38. 「Visual C++ Compiler November 2012 CTP」で追加された6つの新機能

@IT

  1. Vista時代のVisual C++の流儀(前編)Vista到来。既存C/C++資産の.NET化を始めよう!
  2. Vista時代のVisual C++の流儀(中編)MFCから.NETへの実践的移行計画
  3. Vista時代のVisual C++の流儀(後編) STL/CLRによるDocument/Viewアーキテクチャ
  4. C++開発者のための単体テスト入門 第1回 C++開発者の皆さん。テスト、ちゃんとしていますか?
  5. C++開発者のための単体テスト入門 第2回 C++アプリケーションの効率的なテスト手法(CppUnit編)
  6. C++開発者のための単体テスト入門 第3回 C++アプリケーションの効率的なテスト手法(NUnit編)

AWARDS


Microsoft MVP
for Visual Developer - Visual C++


Wankuma MVP
for いぢわる C++


Nyantora MVP
for こくまろ中国茶

Xbox

Links

記事カテゴリ

書庫

日記カテゴリ

ランデブー11

VC++11、標準C++ライブラリが出揃ってきててキモチイイっす。
thread, mutex, condition_variable が追加されてたんでこないだ書いたランデブーがこんなんなりました。

#include <mutex>              // mutex, unique_lock
#include <condition_variable> // condition_variable
#include <stdexcept>          // invalid_argument

class rendezvous {
public:
  rendezvous(unsigned int count)
    : threshold_(count), count_(count), generation_(0) {
    if (count == 0) {
      throw std::invalid_argument("count cannot be zero.");
    }
  }

  bool wait() {
    std::unique_lock<std::mutex> lock(mutex_);
    unsigned int gen = generation_;
    if ( --count_ == 0) {
      generation_++;
      count_ = threshold_;
      condition_.notify_all();
      return true;
    }
    while (gen == generation_ ) {
      condition_.wait(lock);
    }
    return false;
  }

private:
  std::mutex mutex_;
  std::condition_variable condition_;
  unsigned int threshold_;
  unsigned int count_;
  unsigned int generation_;
};

Win-APIだとコードの見てくれがギコギコすんだけど、
標準ライブラリだと涼しげでよろしぃですな。

投稿日時 : 2011年9月18日 3:27

コメントを追加

# re: ランデブー11 2011/09/18 16:16 Chiharu

C++11 のスレッド対応は素晴らしいですねー。
↑標準サポートかつすっきり書けるという点で

generation_ は volatile 指定した方が安全かも…と思いましたが、while 中で関数呼び出しがあるからよっぽど大丈夫ですね。

VC++11 の公開βが待ち遠しいです。

# application essays for college s48fca 2022/09/03 19:14 Charlosmox

You actually stated that well. https://definitionessays.com/ homework now

# colleges that require supplemental essays j88oje 2022/09/08 21:18 Charlosmox


Fantastic stuff. Thanks a lot! https://definitionessays.com/ top college essays

# buy college essay a59pms 2023/02/10 10:29 Albertosed

You actually stated that wonderfully!
https://essaywritingservicelinked.com/ buy an essays

# where can i buy essays s40dat 2023/02/26 7:11 CharlesSnoff


Really all kinds of terrific material.
buy essays https://quality-essays.com/ paying someone to write an essay

# where can i buy a college essay b34otc 2023/02/26 18:17 CharlesSnoff


Terrific forum posts, Regards!
where can i buy an essay online https://quality-essays.com/ pay for essay

# do my dissertation for me y92soz 2023/02/27 8:58 Robertsaids


Whoa plenty of good data!
umi dissertation services https://dissertationwritingtops.com/ dissertation only phd

# best service for paper writing l97cup 2023/02/28 19:52 StevenGrelo


Wow plenty of valuable information.
best paper writing service reddit https://service-essay.com/ customer writing paper service

# ieee paper writing service e37aqb 2023/03/01 8:31 StevenGrelo


Incredible plenty of amazing material.
writing papers services https://service-essay.com/ best paper writing service chicago style

# the perfect thesis statement i98ljy 2023/03/03 6:41 Josephbried


Really quite a lot of useful knowledge.
food and beverage service thesis https://writingthesistops.com/ thesis for persuasive essay

# essay paper help e34uaq 2023/03/06 5:02 Gregorysaipt


Thanks, Quite a lot of forum posts.
essay for college admission https://researchproposalforphd.com assignment writing service review https://essaywritingserviceahrefs.com

# professional resume writing services p60oit 2023/03/07 18:24 EugeneSib

You expressed this perfectly.
dissertation and theses https://helptowriteanessay.com argumentative essay college https://hireawriterforanessay.com

# how to write a narrative essay about yourself s73oyj 2023/03/07 21:48 EugeneSib


Beneficial content. Regards!
essay writing competitions https://writeadissertation.com college essay help https://essaywritingserviceahrefs.com

# criminology dissertation d11nye 2023/03/08 13:25 EugeneSib


Incredible all kinds of excellent tips!
doctor thesis https://writinganessaycollegeservice.com website for essays in english https://quality-essays.com

# how to write essays in english n487wx 2023/03/09 17:57 EugeneSib


Nicely put, Thanks a lot!
how to write an admissions essay for college https://essaywritingserviceahrefs.com rutgers college essay https://essayssolution.com

# college essay community service e75grs 2023/03/09 20:58 EugeneSib


You made your stand very effectively!!
write my essay discount code https://englishessayhelp.com write essay online https://researchproposalforphd.com

# project dissertation i85vww 2023/03/10 11:26 EugeneSib

You revealed this well!
writing essays help https://argumentativethesis.com essays about college https://essayservicehelp.com

# e dissertation e45sqh 2023/03/10 19:21 Gregorysaipt


Seriously a lot of awesome facts.
uf college essay https://homeworkcourseworkhelps.com who to write an essay https://custompaperwritingservices.com

# thesis theses w97sjs 2023/03/11 2:08 EugeneSib


Thanks, I appreciate this!
write college essay https://writingthesistops.com how to write a good act essay https://bestmasterthesiswritingservice.com

# what to include in a college essay s46bpq 2023/03/11 17:10 Gregorysaipt


You made the point!
how to write a self assessment essay https://buyanessayscheaponline.com pay for dissertation https://phdthesisdissertation.com

# proquest dissertation database a33joz 2023/03/12 5:02 EugeneSib


Regards, Awesome stuff.
phd thesis search https://essaywritingservicebbc.com first generation college student essay https://ouressays.com

# essay writing help for high school students d38ciz 2023/03/12 19:30 EugeneSib


Cheers! A good amount of write ups!
help with writing a thesis statement https://paperwritingservicecheap.com transfer college essay https://writinganessaycollegeservice.com

# website that grades essays o59ynv 2023/03/13 9:56 Gregorysaipt

You actually revealed that exceptionally well!
essay about website https://helpmedomyxyzhomework.com creative college essays https://essaywriting4you.com

# article rewriting services z63xsg 2023/03/13 10:09 EugeneSib


Nicely put, Regards!
cheap thesis writing services https://writingthesistops.com common college application essay https://essaywritingservicetop.com

# dissertation cover page k72ptd 2023/03/13 12:38 Gregorysaipt

You actually said it very well.
top rated essay writing websites https://writingresearchtermpaperservice.com essay writing service discount code https://bestonlinepaperwritingservices.com

# help me essays a56wle 2023/03/14 0:55 EugeneSib


Nicely put, Regards!
dissertation research https://dissertationwritingtops.com writing service level agreements https://essaywritingserviceahrefs.com

# best essays h91slc 2023/04/02 21:00 EugeneSib


Amazing stuff, Appreciate it.
essay help chat room https://studentessaywriting.com writing a character analysis essay https://buyanessayscheaponline.com

# The plugins developed for WordPress 2023/05/10 0:46 Justas

The plugins developed for WordPress serve to enhance the features and functions of a WordPress website, allowing you to build your awesome and functional site https://t.me/wpigaming/648 Customise WordPress with powerful, professional and intuitive fields.

タイトル
名前
URL
コメント