Вопрос по многопоточности |c#|

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by kosmo987, 26 Feb 2011.

  1. kosmo987

    kosmo987 Member

    Joined:
    28 Apr 2010
    Messages:
    0
    Likes Received:
    6
    Reputations:
    1
    ef
     
    #1 kosmo987, 26 Feb 2011
    Last edited: 24 Jan 2016
    1 person likes this.
  2. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Да просто.
    формируешь список строк (перед запуском потоков)
    PHP:
                List<string> list = new List<string>();
                for (
    int i 112i++)
                {
                    for (
    int j 131j++)
                    {
                        for (
    int k 135k++)
                        {    
                            list.
    Add(new StringBuilder(i).Append(j).Append(k).ToString());
                        }
                    }
                }
    запросы выполняешь в потоках.
    Перед выполнением запроса забираешь строку из списка
    PHP:
    var String.Empty;
    lock(list)
    {
      
    = list[0];
      list.
    RemoveAt(0);
    }
    // тут запрос
    и так пока не кончатся строки в списке

    ЗЫ тут много чего пропущено но думаю общий смысл ясен
    По запуску и синхронизации потоков курить мсдн
     
  3. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Ну блин это неважно все.
    Смысл в том что для потоков формируется список задач в виде определенной коллекции а потоки разбирают эти задачи. Когда задачи кончились - потоки завершаются. А список задач ты можешь формировать как тебе угодно. Главное что циклы выполняются не в потоках, как я понял именно с этим у тебя проблемы.

    Если тебя смущает список строк, то ты запросто можешь сделать коллекцию на своем типе.
    Например, это может быть класс содержащий дату, номер страницы и т.п.
     
    #3 GhostOnline, 26 Feb 2011
    Last edited: 26 Feb 2011
    5 people like this.
  4. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    Parallel.For()

    TPL Library/.NET 4.0
     
    1 person likes this.
Loading...
Similar Threads - Вопрос многопоточности |c#|
  1. Peja
    Replies:
    0
    Views:
    2,970