Работа с потоками
От: Cynic Россия  
Дата: 11.03.15 09:10
Оценка: :)
Читаю тут, вот такую статейку
Автор(ы): Joseph Albahari
Дата: 24.03.2007
Подробно рассматривается работа с потоками — запуск, завершение, прерывание, блокировки, синхронизация, контексты синхронизации, особенности взаимодействия с апартаментами, а также потоковые возможности .NET — потоковые таймеры, пулы потоков, BackgroundWorker, асинхронные методы и делегаты.
В статье использован материал из книги Joseph Albahari, Ben Albahari "C# 3.0 in a Nutshell" — http://www.oreilly.com/catalog/9780596527570/
и возник у один вопрос. В статье приводится пример:
class ThreadTest 
{
  bool upper;
 
  static void Main() 
  {
    ThreadTest instance1 = new ThreadTest();
    instance1.upper = true;
    Thread t = new Thread(instance1.Go);
    t.Start();
    ThreadTest instance2 = new ThreadTest();
    instance2.Go();  // Запуск в главном потоке - с upper=false
  }
 
  void Go(){ Console.WriteLine(upper ? "HELLO!" : "hello!"); }

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