public void GivenINameTheThreadWithTPL()
        {
            Variability varia   = new Variability();
            Thread      thread2 = new Thread(new ParameterizedThreadStart(varia.ThirdThread));

            Task.Factory.StartNew(varia.FirstThread);
        }
        public void GivenIHaveTheStartTheSecondThread()
        {
            Variability varia = new Variability();

            varia.SecondThread();
            Thread thread2 = new Thread(varia.SecondThread);

            thread2.Start();
            thread2.Abort();
        }
        public void GivenIHaveTheStartTheFirstThread()
        {
            Variability varia = new Variability();

            varia.FirstThread();
            Thread thread1 = new Thread(varia.FirstThread);

            thread1.Start();
            thread1.Abort();
        }
        public void GivenIHaveTheStartTheThirdThread()
        {
            Variability varia   = new Variability();
            Thread      thread2 = new Thread(new ParameterizedThreadStart(varia.ThirdThread));

            thread2.Start("second");
            thread2.Join();
            varia.ThirdThread("main");
            Thread.Sleep(10000);
            thread2.Abort();
        }
        public void GivenINameTheThread()
        {
            Thread.CurrentThread.Name = "main";
            Variability varia   = new Variability();
            Thread      thread2 = new Thread(new ParameterizedThreadStart(varia.ThirdThread));

            thread2.Name = "seconds";
            thread2.Start("second");
            thread2.Join();
            varia.ThirdThread("main");
            Thread.Sleep(10000);
            thread2.Abort();
        }