Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Проблема с потоками или random?


Автор: LordNet 26.2.2007, 12:54
Вот код:

Код

namespace WindowsApplication19
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            for (int i = 0; i < 30; i++)
                Threads[i] = new Thread(new ThreadStart(Proc));
        }

        private string chars = "abcdefghijklmnopqrstuvwxyz";
        Thread[] Threads = new Thread[30];

        private string RandomString()
        {
            string line = "";

            Random rand = new Random();
            for (int i = 0; i < 8; i++)
                line += chars[rand.Next(0, chars.Length)];

            return line;
        }

        private void Regisration()
        {
            lock (this)
            {
                string Login = "", Password = "";

                Login = RandomString();
                Password = RandomString();

                listBox1.Items.Add(Login + "@mail.ru;" + Password);
            }
        }

        private void Proc()
        {
            while (true)
            {
                Regisration();
                Thread.Sleep(2000);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < 30; i++)
                Threads[i].Start();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < 30; i++)
                Threads[i].Abort();
        }
    }
}


Не могу понять, в чем проблема?

Login и Password – Очень часто генерирует одно и тоже, почему?
И бывает, что эксепшин вылетает при добавление в листбокс. (
Заранее спасибо.

Добавлено @ 13:09 
С генерацией строк разобрался, просто надо создать один объект Random для всех Next()
А вот с эксепшином не пойму что делать (

Автор: LordNet 26.2.2007, 13:11
С генерацией строк разобрался, просто надо создать один объект Random для всех Next()
А вот с эксепшином не пойму что делать (

Автор: ivashkanet 26.2.2007, 15:08
Цитата(LordNet @  26.2.2007,  11:54 Найти цитируемый пост)
И бывает, что эксепшин вылетает при добавление в листбокс. (

Искать на форуме по слову Invoke


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)