タグ

cancelに関するkosakiのブックマーク (1)

  • UNIX上でのC++ソフトウェア設計の定石 (4) - memologue

    鉄則4: スレッドの「非同期キャンセル」を行わない設計にしよう スレッドの非同期キャンセルとは: あるスレッドが別のスレッドを即座に強制終了すること 単に「設計が楽だから」「シンプルになるから」という理由でスレッドの非同期キャンセルを使うのはやめよう 一見楽そうに、シンプルそうに見えるだけ。様々な問題を引き起こす可能性が。問題の詳細を把握しないまま、スレッドの非同期キャンセルを行う設計にしないこと! pthread規格では、あるスレッドの処理を別のスレッドが強制的に中断することが許可されています。これを、スレッドのキャンセルと呼びます。 スレッドのキャンセルには次の二種類があります。 方式1: 非同期キャンセル(PTHREAD_CANCEL_ASYNCHRONOUS) キャンセルは即座に行われる 方式2: 遅延キャンセル(PTHREAD_CANCEL_DEFERRED) キャンセルは、スレ

    UNIX上でのC++ソフトウェア設計の定石 (4) - memologue
  • 1