Что именно является реентерабельной функцией?

Наиболее из разопределение реентерации цитируется изВикипедия:

Компьютерная программа или процедура описывается как повторно входящая, если она может бытьбезопасно вызывается снова до того, как его предыдущий вызов был завершен (то есть он может безопасно выполняться одновременно). Чтобы быть реентерабельным, компьютерная программа или рутина:

Не должен содержать статических (или глобальных) непостоянных данных.Не должен возвращать адрес статическим (или глобальным) непостоянным данным.Должен работать только на данных, предоставленных ему вызывающей стороной.Не должен полагаться на блокировки одноэлементных ресурсов.Не должен изменять свой собственный код (если только он не выполняется в собственном уникальном хранилище потоков)Не должен вызывать не входящие компьютерные программы или процедуры.

Какбезопасно определены?

Если программа может бытьбезопасно выполняется одновременновсегда ли это означает, что это реентерабельное?

Что именно является общим потоком между шестью упомянутыми моментами, которые я должен учитывать при проверке моего кода на возможность повторного входа?

Также,

Все рекурсивные функции реентерабельны?Все поточно-ориентированные функции реентерабельны?Все рекурсивные и поточно-ориентированные функции реентерабельны?

При написании этого вопроса на ум приходит одно:reentrance а такжебезопасность потока Абсолютно вообще, то есть имеют ли они конкретные определения? Ведь если нет, то этот вопрос не очень значимый.

Ответы на вопрос(7)

Ваш ответ на вопрос