タグ

2017年10月21日のブックマーク (2件)

  • マルチスレッド (C# によるプログラミング入門) - ++C++; // 未確認飛行 C++

    概要 .NET Framework では、マルチスレッドプログラムを作成するためのクラスライブラリを提供しています。 C# でマルチスレッドプログラムを作成する場合、これらライブラリ中のクラスを用いて行うことになります。 また、C# ではスレッド間の同期を取るために lock 文という構文を用意しています。 ポイント C# なら、Thread クラスとデリゲートで並行処理・並列処理もお手軽。 実際には、スレッドを直接作らず、スレッド プールというものを介して使う。 .NET Framework 4 以降なら、Task クラスを利用。 排他処理は lock 文で。 マルチスレッドとは まず、スレッドに関して簡単に説明しておきます。 簡単に言うと、スレッド(thread: 糸、筋道)とは一連の処理の流れのことを言います。 図1 に示すように、 処理の流れが一道な物をシングルスレッド、 複数の

    マルチスレッド (C# によるプログラミング入門) - ++C++; // 未確認飛行 C++
  • cv修飾子(cv-qualifier)

    C++の修飾子(qualifier)には,const修飾子とvolatile修飾子の2種類がある. この2つをあわせて“cv修飾子”(cv-qualifier)と呼んでいる. unsignedは修飾子じゃないからね よくある間違いに,unsignedも修飾子だと思っているケースがあるけど, 正しくはunsignedは“型名の一部”であって修飾子ではない. この違いはtypedefで新しい型名をつくってみると明確になる. たとえば,typedef int int32;として,新しく“int32”という型をつくったとする. constは修飾子なので任意の型を修飾でき, f(const int32 n)のように記述できる(サンプルプログラム1). これに対してunsignedは修飾子ではないので f(unsigned int32 n)と書くとコンパイルエラーになる(サンプルプログラム2). サン