1

のマニュアルページは次のようにpthread_cancel述べています。

キャンセル状態は PTHREAD_CANCEL_DISABLE に設定できます。この場合、すべてのキャンセル要求が保留されます。

それは明らかです。保留中のキャンセル要求があり、pthread_setcancelstate呼び出しでキャンセル可能性が有効になっている場合、スレッドがキャンセルされたときは?

  1. pthread_setcancelstate通話中
  2. 次のキャンセルポイントで

デフォルトのキャンセル タイプ (PTHREAD_CANCEL_DEFERRED) が使用されます。

4

1 に答える 1

2

pthread_setcancelstate はキャンセル ポイントになることが許可されておらず、キャンセル ポイントまでキャンセルが延期されるため、次のキャンセル ポイントまでスレッドをキャンセルすることはできません。

于 2012-07-25T13:00:19.983 に答える