Разница между безопасностью потоков и безопасностью асинхронных сигналов

Согласно APUE 2e Chapter 12.5:

Если функция реентерабельна по отношению к нескольким потокам, мы говорим, что она потокобезопасна. . Однако это не говорит нам, является ли функция реентерабельной по отношению к обработчикам сигналов. Мы говорим, что функция, которую можно безопасно повторно ввести из обработчика асинхронного сигнала, безопасна для асинхронного сигнала.

Мои вопросы:

Q1:

Существует ли концепция «общего повторного входа» (что означает повторный вход при любых обстоятельствах)? Если да, равен ли общий повторный вход повторному входу только в отношении многопоточности и асинхронного сигнала? Или есть еще и третье условие, которое необходимо учитывать, когда речь идет об общем повторном входе?

Q2:

Безопасность потоков не означает безопасность асинхронных сигналов, что очевидно. Но действительно ли безопасность асинхронного сигнала означает безопасность потоков? Я много гуглил, люди говорят, что это так, но я не могу найти никакого источника для этого.

Q3:

Если ответы на оба Q1 и Q2 да, я предполагаю, что общий повторный вход просто равен безопасному асинхронному сигналу?

8
задан PickBoy 23 March 2012 в 10:10
поделиться