Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2016, 18:45   #1
reavajon
Новичок
Джуниор
 
Регистрация: 18.11.2016
Сообщений: 1
По умолчанию Многопоточность...

Всем привет. Осваиваю по чуть-чуть c#. Сделал программу, которая в принципе работает. Но не так, как я хочу.

Проблемы тут 2.
1 - не могу понять, как заставить работающие потоки выполнить метод.
2 - программа делает выборку из массивов рассинхронно.

Собственно вот сам код

Код:
// Создаю потоки

public void thrd()
        {
            try
            {
                    thread = new Thread[Global.SourseCoint];
                    for (int i = 0; i < Global.countthread; i++)
                    {
                        thread[i] = new Thread(this.Checking)
                        { IsBackground = true };
                        thread[i].IsBackground = true;
                        thread[i].Start();                   
                    }                      
            }
            catch
            {

            }


// Метод, который выполняют потоки

 public void Checking()
        {
            try
            {
                while (true)
                {

                   
                        index++;
                        if (index > Global.SourseCoint)
                        {
                            break;
                        }                   
                    string[] line;
                    line = Global.Sourse[index].ToString().Split(Convert.ToChar(Global.Delim));
                    string IP = textBox1.Text;
                    string pas = line[1];
                    string log = line[0];
                    string pers = line[0];
                    lock (Global.sync)
                        pw = new PWClient(IP, log, pas);
                    pw.Connect();
                    pw.WaitLoginResult();
                    pw.WaitCharsObtaining();
                   
                    {

                        if (!pw.LoginResult)
                        {
                            richTextBox1.AppendText("Неправильный логин или пароль" + Environment.NewLine);
                        }
                       
                        
                            pw.WaitCharsObtaining();
                            foreach (var p in pw.Chars)
                                if (p.Name.StartsWith(pers))
                                    pw.SelectChar(p);
                        
                        if (pw.SelectedChar.Equals(default(PWOOGFrameWork.Char)))
                        {
                            richTextBox1.AppendText("Такого персонажа нет" + Environment.NewLine);
                        }
                        else
                        {
                            richTextBox1.AppendText("Успешно" + Environment.NewLine);
                        }

                    }
                }
            }
            catch
            {

            }
        }
Собственно, надо чтобы программа синхронно выбирала переменную pers и log. Сейчас программа выбирает так строка 1 - логин, строка - 3 (например, может быть и 1, 2, 6 и тд) - персонаж.

И второе.
После того, как программа зайдет на сервер, надо будет отправить в каждый работающий поток метод, но, к сожалению, не знаю как. (гугл не помог).

Последний раз редактировалось Alex11223; 18.11.2016 в 19:00.
reavajon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многопоточность lalilulelo Операционные системы общие вопросы 20 16.04.2012 19:33
Многопоточность в C Ryabinin313 Общие вопросы C/C++ 2 30.10.2011 18:02
многопоточность Freddi Krjuger Общие вопросы по Java, Java SE, Kotlin 1 15.05.2011 23:46
Многопоточность alex0097 Общие вопросы Delphi 3 05.05.2011 22:46
многопоточность DeDoK Общие вопросы Delphi 6 01.08.2010 02:14