senpost
4/20/2011 - 1:58 AM

Share data between threads via static field

Share data between threads via static field

static string ClassString = "*";
static void Main(string[] args)
{
    Program program = new Program();

    //Another thread
    Thread newThread = new Thread(() => program.Print("+"));
    newThread.Start();

    //Main thread
    program.Print("-");
    Console.ReadLine();
}

void Print(string threadMethodParam)
{
    for (int i = 0; i < 3; i++)
    {
        Console.WriteLine(string.Format("ThreadID: {0} {1} {2}", 
            Thread.CurrentThread.ManagedThreadId, threadMethodParam, ClassString));
        Thread.Sleep(10);       
    }
}


//Output
ThreadID: 10 - *
ThreadID: 11 + *
ThreadID: 11 + *
ThreadID: 10 - *
ThreadID: 10 - *
ThreadID: 11 + *