Je suis curieux de savoir ce qui se passe lorsque la pile et le tas entrent en collision. Si quelqu'un a déjà rencontré ce problème, il peut m'expliquer le scénario.
Même avec un seul thread, il est possible d'obtenir une collision pile-tapis non détectée : gcc.gnu.org/ml/gcc-help/2014-07/msg00076.html (bien qu'il soit assez peu probable que cela se produise en pratique, sauf peut-être en cas d'attaques spécifiques). La page de manuel de GCC conseille d'utiliser l'option -fstack-check
avec les programmes multithreads (et ce drapeau permet également de détecter la collision dans mon exemple).
8 votes
Je suis presque sûr que ça arrive quand on ne peut pas arrêter la douleur à l'intérieur.
1 votes
Si vous êtes à court de mémoire de pile et de mémoire de tas, une exception OutOfMemoryException pourrait être levée ?
22 votes
Je ne suis pas d'accord avec les votes serrés (NaRQ). La situation décrite est réel, est important dans les petits systèmes, même aujourd'hui, est mauvais, et est qui mérite d'être compris.
7 votes
Il ne devrait pas y avoir de votes serrés ici. C'est comme "Les nouveaux habits de l'empereur" à l'envers. Les gens ferment parce qu'ils ne comprennent pas la question, pas parce que ce n'est pas une bonne question.
2 votes
Si les gens ne comprennent pas la question, alors elle n'est pas aussi bonne qu'elle pourrait l'être. Peut-être pourrait-on l'améliorer...
3 votes
@NormanRamsey : allez-y.