Загрузка данных


using System;
using System.Threading;

internal class Program
{
    private static int count = 0;
    private static void Main(string[] args)
    {
        int countThreads = 1;

        ThreadStart ts = new ThreadStart(MyMethod);
        Thread[] threads = new Thread[5];

        for (int i = 0; i < threads.Length; i++)
        {
            threads[i] = new Thread(ts);
            threads[i].Start();
        }

        for (int i = 0; i < threads.Length; i++)
        {
            threads[i].Join();
        }
        Console.WriteLine($"Count = {count}");

        //ThreadStart ts = new ThreadStart(MyMethod);
        //Thread thread = new Thread(ts);
        //thread.IsBackground = t rue;
        //thread.Priority = ThreadPriority.Normal;
        //thread.Start();

        //ParameterizedThreadStart pts = new ParameterizedThreadStart(MyMethod2);
        //Thread thread1 = new Thread(pts);
        //thread1.Start("Привет");

        //ParameterizedThreadStart pts1 = new ParameterizedThreadStart(MyMethod3);
        //Thread thread2 = new Thread(pts1);
        //thread2.Start(3);

        //for (int i = 0; i < 100; i++)
        //{
        //    Thread.Sleep(20);
        //    Console.WriteLine($"Hello, World! [{i}]");
        //}

    }

    private static void MyMethod()
    {
        for (int i = 0; i < 1000000; i++)
        {
            Thread.Sleep(1);
            count++;   
        }
    }
    //private static void MyMethod()
    //{
    //    for (int i = 0; i < 100; i++)
    //    {
    //        Thread.Sleep(50);
    //        Console.WriteLine($"\t\t\tHello [{i}]");
    //    }
    //}
    private static void MyMethod2(object obj)
    {
        string str = obj as string;

        for (int i = 0; i < 10; i++)
        {
            Thread.Sleep(50);
            Console.WriteLine($"\t\t{str}");
        }
    }
    private static void MyMethod3(object obj)
    {
        string thread2 = obj as string;

        for (int i = 0; i < 10; i++)
        {
            Thread.Sleep(50);
            Console.WriteLine($"\t\t3*{i} = {3*i}");
            Console.WriteLine($"\t\t5*{i} = {5*i}");

        }
    }

}