Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > глупый вопрос по многопоточности


Автор: dj100500 13.12.2010, 23:15
правильноли я делаю или туплю smile  smile 
Код

 static class Program
    {
static void Main()
        {
            TEST t = new TEST();
            t.M();
            Console.ReadKey();
        }
        
    }

    class TEST
    {
        int j = 0;
        string[] test = { "wqwq", "q23eqwqw", "esda", "desadasd", "dasdasd", "_=+huffd", "{}??>", "#!@#!@#", "8967588", "23213", "dadsaddas" };
        public void M()
    {
List<Thread> theads = new List<Thread>();

for (int i = 0; i < 3; i++)
{
    theads.Add(new Thread(T));
    theads[i].Start();
}


    }
        public void T()
        {
            while(j<test.Length)
            {
            lock (this)
            {
                j++;
            }
            Console.WriteLine(test[j]);
            }
        }
    }

Автор: neutrino 14.12.2010, 10:50
В принципе неправильно. lock(this) - зло. Да и лучше использовать ThreadPool вместо этого. А что ты хотел сделать ?

Автор: dj100500 14.12.2010, 11:17
ну надо чоб выполнялось в разных потоках всё

Автор: jonie 14.12.2010, 13:03
    neutrino, читать тоже надо с блокировкой

Автор: dj100500 14.12.2010, 14:03
ну тык а вобщемто правильно будет работать такая конструкция

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)