многопоточность - два вопроса
От: abb269  
Дата: 15.11.10 12:22
Оценка:
Здравствуйте,
Помогите разобраться с многопоточностью не самому профессиональному программисту.
Есть внешний источник посылающий данные в формате string name/string line. Нужно принимать и обрабатывать эти данные с максимально возможным быстродействием.
Попытка применить что-то вроде
            switch (name)
            {
                case "a":
                    Thread tA = new Thread(GetA);
                    tA.Start(line);
                    break;
                case "b":
                    Thread tB = new Thread(GetB);
                    tB.Start(line);
                    break;
            }

с последующей обработкой в Get... работает неадекватно.
Посоветуйте, пожалуйста, в какую сторону нужно смотреть.
Это глобальный, можно сказать вопрос.
Но в процессе моих войн с многопоточностью образовался и еще один, маленький.
Можно ли исправить такой вот код

        static void Main(string[] args)
        {
            for (int i = 1; i<=10; i++)
            {
                string line = i.ToString();
                Thread t = new Thread(Go);
                t.Start(line);
                t.Join();
            }
            Console.ReadLine();
        }

        static void Go(object o)
        {
            Thread.Sleep(5000);
            Console.WriteLine((string)o);
        }


чтобы он напечатал цифры в правильной последовательности меньше, чем за 5*10 секунд?
Заранее спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.