2010-03-01 5 views
4

Я новичок, когда дело доходит до потоковой обработки на C#, и я не уверен, что каждый поток должен иметь свой собственный стек вызовов? В принципе, если я получаю «Ошибка проверки времени выполнения # 0 - значение ESP было не правильно», может ли это произойти только поток, в котором он произошел, или всю программу?Если стек вызовов поврежден, это приведет к сбою только текущего потока или всего моего приложения?

+0

Вы получите эту ошибку только в сборке отладки. Это ошибка в коде, обнаруженная средой выполнения C/C++. –

ответ

8

Каждый поток имеет свой собственный стек, поэтому повреждение стека будет только напрямую влияет на одну нить. Но обработчик исключений потока по умолчанию будет уничтожать приложение.

+0

Фу, это облегчение :) На мгновение я подумал, что не смогу справиться с крутой нитью :) –

0

Каждый поток имеет свой собственный стек вызовов, поэтому коррупция будет влиять только на один поток.

Но, как указал Джон, этого может быть достаточно, чтобы остановить программу.