POPFile

So-netのメールアドレスだと異様にSpamが多い。So-netからのお知らせメールが"info@so-net.ne.jp"なので、Fromが"info@"で始まるのが多いのが苦笑ものなんだけど。で、あまりメールを使わない人なのにあまりにS/N比が悪いのでPOPFileを入れてみた。

ベイズ統計って確かWindowsのスタートメニューを選択的に表示させるのにも使われてるって話しを聞いたことがあるようなー(調べる気ナッシング)。ぶっちゃけベイズ統計とか知らないんだけど、統計屋さんじゃなくてもベイズ統計くらいは知ってないとダメなくらい簡単なんでしょうか?(学ぶ気ナッスゥィング)

これからトレーニング開始って感じなんだけど、正直統計手法とか学習手法とかって知識・経験がないと使いこなせないのが多いから半信半疑なんだよナー。どこまで使えるのか見極めも兼ねて、ということで。

iostream in multiple threads

実はiostreamってスレッドセーフではない?以前書いたマルチスレッドのテストプログラムのprintfをstd::coutを使って書き換えてみたんだけど、表示が崩れる。

ってことで、クリティカルセクションとか使ってみるわけなんだけど、こんな感じに、

class critical_section
{
  CRITICAL_SECTION m_cs;

public:
  critical_section()
  {
    InitializeCriticalSection(&m_cs);
  }

  void enter()
  {
    EnterCriticalSection(&m_cs);
  }

  void leave()
  {
    LeaveCriticalSection(&m_cs);
  }
};

critical_sectionクラスとか作っておいて(つってもラップしてるだけだけど)、

critical_section g_cs;

// 中略

g_cs.enter();
std::cout << "enter thread " << num << std::endl;
g_cs.leave();

って感じで使うのが楽ぽい。さらに気合入れてスレッドセーフなstd::coutを作る人もどこかにいそうだなー。