я так понимаю разные потоки меняют одну и ту же переменную, и должен быть Exception
public partial class MainWindow : Window
{
Int64 i = 0;
Int64 j = 1;
private void Test()
{
while (true)
{
j = -j;
i += j;
}
}
public MainWindow()
{
InitializeComponent();
for (int n = 0; n < 4; ++n)
{
Thread t = new Thread(() => Test());
t.Priority = ThreadPriority.Normal;
t.Start();
}
}
}
Ответ
Похоже вы путаете потоки с процессами. При попытке доступа к памяти другого процесса действительно должно возникнуть исключение, но только если такой доступ не санкционирован ОС. Потоки же, относятся к одному процессу и совместно используют память процесса, поэтому в вашем коде ни каких исключений быть не должно.
Комментариев нет:
Отправить комментарий