using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Taking data from Main Thread\n->");
        string message = Console.ReadLine();
        ThreadStart newThread = new ThreadStart(delegate { Write(message); });
        Thread myThread = new Thread(newThread);
    }
    public static void Write(string msg)
    {
        Console.WriteLine(msg);
        Console.Read();
    }
}
}
                You can also use a the CallContext if you have some data that you want to "flow" some data with your call sequence. Here is a good blog posting about LogicalCallContext from Jeff Richter.
using System;  
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading; 
namespace ConsoleApplication1 
{ 
  class Program 
  { 
    static void Main(string[] args) 
    { 
        Console.WriteLine("Taking data from Main Thread\n->"); 
        string message = Console.ReadLine(); 
        //Put something into the CallContext
        CallContext.LogicalSetData("time", DateTime.Now);
        ThreadStart newThread = new ThreadStart(delegate { Write(message); }); 
        Thread myThread = new Thread(newThread); 
    } 
    public static void Write(string msg) 
    { 
        Console.WriteLine(msg); 
        //Get it back out of the CallContext
        Console.WriteLine(CallContext.LogicalGetData("time"));
        Console.Read(); 
    } 
  } 
} 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With