none
Как создать N потоков RRS feed

  • Вопрос

  • Мне нужно создать n количество потоков и распределить между ними задачу(математическую)

     

     Thread[] masthread = new Thread[(int)potokUpDown.Value];
    masthread[1].Start(); // Ошибка

     

    Как указать во время объявления, на какой метод все потоки должны смотреть?

     

     

     

     

    • Перемещено Tagore Bandlamudi 1 октября 2010 г. 21:42 MSDN Forums consolidation (От:Visual C#)
    7 июля 2010 г. 16:42

Ответы

  • Мне нужно создать n количество потоков и распределить между ними задачу(математическую)

     

     Thread[] masthread = new Thread[(int)potokUpDown.Value];
    masthread[1].Start(); // Ошибка

     

    Как указать во время объявления, на какой метод все потоки должны смотреть?

     

     

     

     


    Почему вы пытаетесь запустить поток неинициализировав его??

    Thread[] mth = new Thread[Count];

    mth[1] = new ThreadStart(ThreadMethod);

    nth[1].Start()

    А вобще в случае нескольких потоков принято использовать не массив потоков, а ThreadPool

    • Помечено в качестве ответа I.Vorontsov 8 июля 2010 г. 12:27
    7 июля 2010 г. 19:46

Все ответы

  • Мне нужно создать n количество потоков и распределить между ними задачу(математическую)

     

     Thread[] masthread = new Thread[(int)potokUpDown.Value];
    masthread[1].Start(); // Ошибка

     

    Как указать во время объявления, на какой метод все потоки должны смотреть?

     

     

     

     


    Почему вы пытаетесь запустить поток неинициализировав его??

    Thread[] mth = new Thread[Count];

    mth[1] = new ThreadStart(ThreadMethod);

    nth[1].Start()

    А вобще в случае нескольких потоков принято использовать не массив потоков, а ThreadPool

    • Помечено в качестве ответа I.Vorontsov 8 июля 2010 г. 12:27
    7 июля 2010 г. 19:46
  • за 2-ую строчку спасибо!!

    а на счет пула потоков слышал, что быстрее будет, если использовать свои потоки, а не скармливать задачу пулам

  • Будет быстрее, но только при наличии опыта работы с потоками :)

    Для распределения математических  рассчетов лучше использовать Parrallel LINQ . По скорости не будет уступать ручному управлению потоками.

  • что-то  2-ая строчка выдает ошибку

    Неявное преобразование типа "System.Threading.ThreadStart" в "System.Threading.Thread" невозможно

     

     

    10 июля 2010 г. 8:39
  • там опечатка, должно быть new Thread(new ThreadStart(ThreadMethod)) или просто new Thread(ThreadMethod)
    10 июля 2010 г. 8:52