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 + *