1-2: на некоторых встроенных процессорах размер стека может быть ограничен несколькими килобайтами; на некоторых машинах он может расширяться до гигабайт. Не существует независимого от платформы способа узнать, насколько большим может стать стек, в некоторой степени, потому что некоторые платформы способны расширять стек, когда достигают предела; успех такой операции не всегда может быть предсказан заранее.
3: Эффект почти одновременной записи или записи в одном потоке, которые происходят почти одновременно с чтением в другом, в значительной степени непредсказуем при отсутствии блокировок, мьютексов или других подобных устройств. Можно предположить некоторые вещи (например, если один поток читает «int» в куче, в то время как другой поток меняет его с 4 на 5, первый поток может видеть 4 или 5; на большинстве платформ это будет гарантировано не видеть 27).
4: Некоторые платформы разделяют адресное пространство стека между потоками; другие нет. Передача указателей на объекты в стеке обычно является плохой идеей, поскольку внешний поток, получающий указатель, не сможет гарантировать, что цель находится в области видимости и не выйдет из области видимости.
5: Как правило, не нужно беспокоиться о стековом пространстве в любой подпрограмме, которая написана для ограничения рекурсии до разумного уровня. Однако нужно беспокоиться о возможности дефектных структур данных, вызывающих бесконечную рекурсию, которая уничтожит любой стек независимо от его размера. Следует также помнить о возможности неприятного ввода, который может привести к гораздо большей глубине стека, чем ожидалось. Например, компилятор, использующий синтаксический анализатор с рекурсивным спуском, может подавиться, если передать файл, содержащий миллиард повторений последовательности «1+ (». Даже если на машине есть гигабайт стекового пространства, если каждое вложенное подвыражение использует 64 байта стек, вышеупомянутый файл в три гигабайта мог убить его.
6: стек обычно хранится в ОЗУ и / или кеше; Части, к которым недавно обращались, обычно находятся в кеше, а части, к которым обращались недавно, будут в основной памяти. Как правило, то же самое относится и к областям хранения кода, кучи и статического хранилища.
7: Это очень зависит от системы; Как правило, «нахождение» чего-либо в куче занимает столько же времени, сколько и доступ к нескольким вещам в стеке, но во многих случаях многократный доступ к различным частям одного и того же объекта кучи может быть столь же быстрым, как и доступ к объекту стека.