タグ

Programmingとmultithreadに関するItisangoのブックマーク (4)

  • セマフォ (マルチスレッドのプログラミング)

    セマフォ セマフォは、E.W. ダイクストラ (Dijkstra) が 1960 年代の終わりごろに考案したプログラミング手法です。ダイクストラのセマフォモデルは、鉄道線路の運行をモデル化したものです。一度に一の列車しか走れない単線の鉄道線路を思い浮かべてください。 この鉄道線路を保護するのがセマフォです。列車は単線区間に入るとき、セマフォの状態が進行許可状態になるのを待たなければなりません。列車が単線区間に入るとセマフォの状態は、他の列車が単線区間に入るのを禁止する状態に変化します。単線区間から出る列車は、セマフォの状態を進行許可状態に戻して他の列車が単線区間に入ることができるようにしなければなりません。 コンピュータ内のセマフォは、単一の整数で表現されます。スレッドは進行が許可されるのを待ち、その後進行したことを知らせるためにセマフォに対して P 操作を実行します。 この操作をもう少

    Itisango
    Itisango 2020/05/08
    “Dijkstraが 1960 年代の終わりごろに考案したプログラミング手法です。ダイクストラのセマフォモデルは、鉄道線路の運行をモデル化したものです。一度に一本の列車しか走れない単線の鉄道線路を思い浮かべてください”
  • Debugging with GDB - GDB配下でのプログラムの実行

    プログラムをGDB配下で実行するには、 コンパイル時にデバッグ情報を生成する必要があります。 ユーザが選択した環境で、 必要に応じて引数を指定して、 GDBを起動することができます。 ネイティブ環境でデバッグを行っているのであれば、 プログラムの入力元と出力先をリダイレクトすること、 既に実行中のプロセスをデバッグすること、 子プロセスを終了させることもできます。 デバッグのためのコンパイル プログラムを効率的にデバッグするためには、 そのプログラムのコンパイル時にデバッグ情報を生成する必要があります。 このデバッグ情報はオブジェクト・ファイルに格納されます。 この情報は、 個々の変数や関数の型、 ソース・コード内の行番号と実行形式コードのアドレスとの対応などを含みます。 デバッグ情報の生成を要求するには、 コンパイラの実行時に`-g'オプションを指定します。 多くのCコンパイラでは、 `

    Itisango
    Itisango 2013/01/05
    #GDB でマルチスレッドプログラムを #debug する手法など。 #Linux #UNIX
  • マルチスレッドプログラムのデバッグ

    コードレビューの視点 003」では、「マルチスレッドプログラミングに注意する」と題して、次のことが必要だと述べました。 マルチスレッドプログラミングに関する基礎知識をすべてのソフトウェアエンジニアがきちんと習得していること 書かれたコードは、マルチスレッドプログラミングに関する豊富な知識と経験を持つ人がきちんとレビューをする 書かれたコードは、自動テストが実行できるようになっていて、様々なプラットフォーム(単一コアから複数コア、あるいは、マルチプロセッサー)で長時間ランニングテストを行う。さらに、同時にシステムに別の負荷(CPU、HDなどへの負荷)をかけたランニングテストも行う そして、テストが止まっている場合には最優先デバッグすることも重要だと述べました。しかし、重要ことを書き忘れていました。デバッグは、テストが止まったままの状態でデバッガーをプロセスにアッタッチして行うということです

    マルチスレッドプログラムのデバッグ
  • マルチコア時代のサーバ設計について - Happy Hacking Diary

    思いは言葉に。 はてなブログは、あなたの思いや考えを残したり、 さまざまな人が綴った多様な価値観に触れたりできる場所です。

    マルチコア時代のサーバ設計について - Happy Hacking Diary
    Itisango
    Itisango 2008/05/08
    なんて解りやすい資料なんだ!
  • 1