Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 24.12.2014
Сообщений: 2
1

Многопоточность и xNet

24.12.2014, 18:20. Показов 2243. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Так работает:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Program
    {
        static void p(object i)
        {
            HttpRequest r = new HttpRequest();
            String str = r.Get("http://vk.com/googlerussia").ToString();
            Console.WriteLine((int)i + "получена");
        }
        static void Main(string[] args)
        {
            for (int i = 0; i < 100; i++)
            {
                Thread t = new Thread(p); //Разница 
                t.Start(i); //Здесь
            }
            Console.ReadKey();
        }
    }
Так не работает:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Program
    {
        static void p(object i)
        {
            HttpRequest r = new HttpRequest();
            String str = r.Get("http://vk.com/googlerussia").ToString();
            Console.WriteLine((int)i + "получена");
        }
        static void Main(string[] args)
        {
            for (int i = 0; i < 100; i++)
            {
                ThreadPool.QueueUserWorkItem(p, i);//Разница здесь
            }
            Console.ReadKey();
        }
    }
Почему второй вариант не работает?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2014, 18:20
Ответы с готовыми решениями:

Xnet и куки
Здравствуйте. Написал приложение -парсер на windows form. Для запросов использую Xnet библиотеку....

работа с xNet
Пытаюсь отправить хидер с помощью xNet. using xNet.Collections; using xNet.Net; var request...

Cookie в xNet
Есть строка с куками, конкретно строка вида: Подскажите как мне засунуть их в запрос(Сразу всю...

XNet Заголовки
Как добавить или изменить заголовки? Такое не предлагать, не работает. ...

3
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
25.12.2014, 12:39 2
Цитата Сообщение от leonkrut Посмотреть сообщение
Почему второй вариант не работает?
Потому что у вас основной поток заканчивает работу раньше чем другие, вы же не написали модуль по синхронизации и ожидания потоков. А первый вариант ждет завершения потоков. Вот вам и разница.
Поставьте Thread.Sleep(10000); перед Console.ReadKey(); и увидите свои потоки.
0
0 / 0 / 0
Регистрация: 24.12.2014
Сообщений: 2
26.12.2014, 12:24  [ТС] 3
Цитата Сообщение от titans2011 Посмотреть сообщение
Поставьте Thread.Sleep(10000); перед Console.ReadKey(); и увидите свои потоки.
Не сработало, ничего не выводит.
0
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
26.12.2014, 13:16 4
Цитата Сообщение от leonkrut Посмотреть сообщение
Не сработало, ничего не выводит.
Значит этого времени мало. Вот вам рабочий пример. И советую сделать синхронизацию потоков, прежде чем говорить, что не работает.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System;
using System.Threading;
public class Example {
    public static void Main() {
        // Queue the task.
        ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadProc));
 
        Console.WriteLine("Main thread does some work, then sleeps.");
        // If you comment out the Sleep, the main thread exits before
        // the thread pool task runs.  The thread pool uses background
        // threads, which do not keep the application running.  (This
        // is a simple example of a race condition.)
        Thread.Sleep(1000);
 
        Console.WriteLine("Main thread exits.");
    }
 
    // This thread procedure performs the task.
    static void ThreadProc(Object stateInfo) {
        // No state object was passed to QueueUserWorkItem, so 
        // stateInfo is null.
        Console.WriteLine("Hello from the thread pool.");
    }
}
0
26.12.2014, 13:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2014, 13:16
Помогаю со студенческими работами здесь

XNet редиректы
В общем суть проблемы такова. Отправляют пост запрос после которого идет 3 редиректа и последняя...

XNet и Fiddler
Подскажите, пожалуйста, что нужно прописать, чтобы Fiddler показывал запросы, которые я делаю через...

Таймаут xNet
Есть функция на проверку прокси, подскажите как там выставить таймаут подключения 5 секунд, если за...

VS не определяет xNet
Всем привет. Подскажите пожалуйста. Подключаю dll xNet. Проект-&gt;добавить сущ. элемент-&gt; выбираю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru