タグ

2012年4月8日のブックマーク (2件)

  • Windows: プロセスとスレッド

    この記事は、Windows の基的なリソースの限界について考察する「Windows の限界に挑む」シリーズの 4 回目の投稿です。今回は、Windows でサポートされるスレッドおよびプロセスの最大数の制限について説明します。スレッドとプロセスの違いについて簡単に説明し、スレッドの制限や、プロセスの制限について考察していきます。初めにスレッドの制限を取り上げます。アクティブ プロセスにはそれぞれ最低 1 つのスレッドがある (終了されたプロセスで、別のプロセスが所有するハンドルで参照されているプロセスはスレッドを持たない) ため、プロセスに対する制限は、スレッドの上限値の影響を直接受けるからです。 一部の UNIX バリアントとは異なり、Windows のほとんどのリソースについて、固定の上限値はオペレーティング システムにコンパイルされておらず、これまでに説明してきた基的なオペレーテ

    Windows: プロセスとスレッド
  • INT30-C. 符号無し整数の演算結果がラップアラウンドしないようにする

    以降のセクションでは、符号無し整数のラップアラウンドが発生する可能性のある演算について詳しく見ていく。int より小さな整数型に対する演算には、整数拡張 (integer promotion) が適用される。算術演算が行われる前に通常の算術型変換 (usual arithmetic conversion) が適用され、オペランドの型を共通の型へ暗黙的に変換する場合もある。セキュアな算術演算を実装する前に、C言語の整数変換のルールを理解しておくべきである(「INT02-C. 整数変換のルールを理解する」を参照)。 整数値は、特に次のいずれかの目的で利用する場合には、ラップアラウンドさせてはならない。 ポインタ演算の整数オペランド (配列インデックスを含む) 可変長配列の宣言における代入式 [] に先立つ後置式 (postix expression) もしくは配列オブジェクトの要素を指し示す

    INT30-C. 符号無し整数の演算結果がラップアラウンドしないようにする