Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Многопоточность и libcurl.NET, как правильнее и красивее решить задачу 
V
    Опции темы
Verus
Дата 7.10.2009, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



Задача такая: необходимо запускать потоки, в каждый из которых передавать данные. Каждый поток будет с помощью курла выполнять различные задачи(прием/отправка). Сделал эту задачу на С++ с Qt, получилось что-то вроде этого:

Код

Thread* _thread = new Thread[thrAmount];
for(int i=0; i<_uniqueLogins.size();)
    {
        for(int j=0; j<thrAmount; j++)
        {
            if(_thread[j].isRunning()) continue;
            if(i >= _uniqueLogins.size()) break;
            QSet<QString>::const_iterator iter = _uniqueLogins.constBegin()+i;

            _thread[j].setLoginPass(*iter);
            _thread[j].setTimeout(_timeOut);
            _thread[j].setProxyList(shuffleList(proxyList));
            _thread[j].start();
            i++;
        }
        Sleep(5000);
    }
    //waiting all threads to finishes-------------------------
    for(int i=0; i<thrAmount; i++)
    {
        _thread[i].wait();
    }


Тут я унаследовался от класса QThread. Думал и на C# так же сделать, начал только изучать .NET и стало интересно как можно еще решить задачу.
PM MAIL   Вверх
jonie
Дата 7.10.2009, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



Verus, абсолютно (почти строка в строку) также.
http://www.rsdn.ru/article/dotnet/CSThreading1.xml
http://www.rsdn.ru/article/dotnet/multithrwinfrms.xml
ну и в MSDN написано немало...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Verus
Дата 7.10.2009, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



Спасибо. Думал может есть какое-то элегантное решение smile

Это сообщение отредактировал(а) Verus - 7.10.2009, 09:58
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.