Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Ответ
 
Опции темы
Старый 29.01.2012, 12:15   #16
 Старший сержант
Аватар для Sinyss
 
Sinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака Норриса
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
Отправить сообщение для Sinyss с помощью Skype™
 
По умолчанию Re: Многопоточность C#

Цитата:
Сообщение от the-boxiПосмотреть сообщение
Ну как бы это ужасный многопоток. Но для одного действия подойдет. А если действий много? То данные будут теряться.
И лутче переменую счёта обьявить в потоке тоесть в процедуре
Код:
 int index_thread = main;
main++;

А так у тебя будет много потоков которые делают одно и тоже....
а надо просто сделать
Цитата:
object locker;
lock(locker)
{
main++;
}

  Ответить с цитированием
Старый 29.01.2012, 12:19   #17
Почетный Пользователь
 Рыцарь
Аватар для the-boxi
 
the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(the-boxi сломал счётчик популярности :(
Регистрация: 09.02.2011
Сообщений: 373
Популярность: 38009
Сказал(а) спасибо: 612
Поблагодарили 448 раз(а) в 175 сообщениях
Отправить сообщение для the-boxi с помощью ICQ Отправить сообщение для the-boxi с помощью MSN Отправить сообщение для the-boxi с помощью Skype™
 
По умолчанию Re: Многопоточность C#

Цитата:
Сообщение от SinyssПосмотреть сообщение
А так у тебя будет много потоков которые делают одно и тоже....
а надо просто сделать

Ой да насчёт lock я забыл признаю.
Но object по моему надо указать глобально а не в процедуре.
И желательно же делать
Код:
object locker = new object();
Что бы выполнилось всё для создания...
________________
Разработка программ на заказ, все вопросы skype - the-boxi, ICQ - 616027961

Последний раз редактировалось the-boxi; 29.01.2012 в 12:25.
  Ответить с цитированием
Старый 29.01.2012, 12:56   #18
 Старший сержант
Аватар для Sinyss
 
Sinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака Норриса
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
Отправить сообщение для Sinyss с помощью Skype™
 
По умолчанию Re: Многопоточность C#

Цитата:
Сообщение от the-boxiПосмотреть сообщение
Ой да насчёт lock я забыл признаю.
Но object по моему надо указать глобально а не в процедуре.
И желательно же делать
Код:
object locker = new object();
Что бы выполнилось всё для создания...

Ну я псевдокодом, не помню уже точный синтаксис )
Да, locker глобальный.
  Ответить с цитированием
Пользователь сказал cпасибо:
the-boxi (29.01.2012)
Старый 29.01.2012, 16:11   #19
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: Многопоточность C#

Yukikaze, Только что прочитал ваш код, что раньше сделать поленился..
Жесть.
1. К чему тут ртф я так и не понял
2. Зачем это писать еще и в файл?!
3. Элементарнеший вариант:
code
Минус - порой расчитывает так, что часть потоков обрабатывает по несколько адресов, остальная часть - ничего (видно на скрине).
Ну да не страшно.
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой

Последний раз редактировалось •theSaboteur•; 29.01.2012 в 16:23. Причина: added link to source code
  Ответить с цитированием
Старый 29.01.2012, 23:11   #20
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: Многопоточность C#

•theSaboteur•, я знаю, что там бред, поэтому пользуюсь таким вариантом:
Код:
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Threading;

namespace ParallelForEach
{
    public partial class Form1 : Form
    {
        readonly ParallelOptions o = new ParallelOptions();
        private Thread t;
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            t = new Thread(s_w);
            t.Start();
        }

        string send_POST(string url, string post)
        {
            string Response_POST = "", StrNewValue;
            try
            {
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                req.Method = "POST";
                req.Proxy = new WebProxy("127.0.0.1", 8888);
                req.ContentType = "application/x-www-form-urlencoded";
                StrNewValue = post;
                req.ContentLength = StrNewValue.Length;
                StreamWriter Soup = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);
                Soup.Write(StrNewValue);
                Soup.Close();
                StreamReader stin3 = new StreamReader(req.GetResponse().GetResponseStream());
                Response_POST = stin3.ReadToEnd();
                stin3.Close();
            }
            catch { }
            return Response_POST;
        }

        private void s_w()
        {
            o.MaxDegreeOfParallelism =  Convert.ToInt32(numericUpDown1.Value);
            Parallel.ForEach(GetLine(), o,
                line => send_POST("http://www.yandex.ru/" + line, ""));
        }

        IEnumerable<string> GetLine()
        {
            string[] line = null;
            if (richTextBox1.InvokeRequired)
            {
                richTextBox1.Invoke(
                    new Action(() =>                                
                    {                                
                        line = richTextBox1.Text.Split('\n');                                 
                    }                                
                    ));
            }
            else
        line = richTextBox1.Text.Split('\n');
            return line;
        }
    }
}
________________
Talk is cheap. Show me the code
— Linus Torvalds
  Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
Hermein (12.02.2012), sergiktipok (06.03.2012), Shook† (03.03.2012)
Старый 02.03.2012, 14:30   #21
Заблокирован
 Старший сержант
Аватар для Gamer1912
 
Gamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небе
Регистрация: 31.01.2011
Сообщений: 182
Популярность: 887
Золото Zhyk.Ru: 100
Сказал(а) спасибо: 136
Поблагодарили 494 раз(а) в 220 сообщениях
Отправить сообщение для Gamer1912 с помощью Skype™
 
По умолчанию Re: Многопоточность C#

так и не понял остальные способы, но способ автора приспособил для id:auth
Код:
main++;
string fake = mas[main - 1].Split(':');
send_POST("http://server.ru", "id=" + fake[0] + "auth=" + fake[1]);
send_POST("http://server2.ru", "id=" + fake[0] + "auth=" + fake[1]);
  Ответить с цитированием
Старый 02.03.2012, 22:26   #22
 Старший сержант
Аватар для Sinyss
 
Sinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака Норриса
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
Отправить сообщение для Sinyss с помощью Skype™
 
По умолчанию Re: Многопоточность C#

Цитата:
Сообщение от Gamer1912Посмотреть сообщение
так и не понял остальные способы, но способ автора приспособил для id:auth
Код:
main++;
string fake = mas[main - 1].Split(':');
send_POST("http://server.ru", "id=" + fake[0] + "auth=" + fake[1]);
send_POST("http://server2.ru", "id=" + fake[0] + "auth=" + fake[1]);

ну и где тут многопоточность? обычная линейная программа...
  Ответить с цитированием
Старый 02.03.2012, 23:59   #23
Заблокирован
 Старший сержант
Аватар для Gamer1912
 
Gamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небе
Регистрация: 31.01.2011
Сообщений: 182
Популярность: 887
Золото Zhyk.Ru: 100
Сказал(а) спасибо: 136
Поблагодарили 494 раз(а) в 220 сообщениях
Отправить сообщение для Gamer1912 с помощью Skype™
 
По умолчанию Re: Многопоточность C#

Sinyss, Это же лишь кусок кода!
Вот получается весь код

Код:
using System;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Web;
using System.Threading;

namespace Threads
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int main;
        string[] mas;
        private void button1_Click(object sender, EventArgs e)
        {
            mas = richTextBox1.Text.Split('\n');
            main = 0;
            int s = Convert.ToInt32(numericUpDown1.Value);
            Thread[] thread = new Thread[s];
            for (int i = 0; i < s; i++)
            {
                Thread thr = new Thread(new ThreadStart(s_w));
                thread[i] = thr;
                Thread.Sleep(55);
                thread[i].Start();
            }
        }

        public string send_POST(string url, string post)
        {
            string Response_POST = "", StrNewValue;
            try
            {
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                req.Method = "POST";
                req.Proxy = null;
                req.ContentType = "application/x-www-form-urlencoded";
                StrNewValue = post;
                req.ContentLength = StrNewValue.Length;
                StreamWriter Soup = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);
                Soup.Write(StrNewValue);
                Soup.Close();
                StreamReader stin3 = new StreamReader(req.GetResponse().GetResponseStream());
                Response_POST = stin3.ReadToEnd();
                stin3.Close();
            }
            catch { }
            return Response_POST;
        }

        private void s_w()
        {
            try
            {
                 main++;
                 string[] fake = mas[main - 1].Split(':');
                 send_POST("http://server.ru", "id=" + fake[0] + "auth=" + fake[1]);
                 send_POST("http://server2.ru", "id=" + fake[0] + "auth=" + fake[1]);
            }
            catch { }
        }
    }
}
Полностью авторский код, с добавлением тех самых строк, что я написал выше!

Последний раз редактировалось Gamer1912; 13.04.2012 в 11:37.
  Ответить с цитированием
Пользователь сказал cпасибо:
Shook† (03.03.2012)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Многопоточность =PaLeTiZaToR= Вопросы и ответы, обсуждения 2 08.01.2012 19:23
[delphi] Многопоточность TakeThat Pascal/Delphi 2 31.07.2010 07:42

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 01:50.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net