Как вызвать из события поток с параметрами, заданными через класс C#?

337
23 января 2018, 09:11

Доброе время суток. Имеются срабатывающие в таймере событие, 3 потока и класс, передающий в поток 2 параметра (объект из очереди и время "эмуляции" работы с этим объектом). Не могу сообразить, как создавать (вызывать?) потоки в момент срабатывания события (реализация события прописана в методе класса window). Возможно, вы предложите более разумный вариант.

Код класса с параметрами:

public class Window
{
    private int blamkId; //для номера заявки
    private int timeBlankWork; //время "обработки" одной заявки (задерка для sleep)
    private bool isBusy1 = false;

    public Window(int x, int y) //конструктор
    {
        this.blamkId = x;
        this.timeBlankWork = y;
    }
    public void WinOption(int x, int y) //передаем нужные данные в поток
    {
        this.blamkId = x;
        this.timeBlankWork = y;
    }
    public int Wind1() //для обработки
    {
        isBusy1 = true; //установка флага в "занято"
        int BlankIdFin = blamkId;
        Thread.Sleep(timeBlankWork);
        isBusy1 = false;
        return BlankIdFin;
    }
    public void Message() //метод, вызываемый при срабатывании события
    {
        MessageBox.Show("test event");
    }
}

Код потока:

Window BigWin = new Window(0, 0); //создаем класс
BigWin.WinOption(WaitQue.Dequeue(), TimeBlankWork); //передаем параметры
Thread Work1 = new Thread(() => { result1 = BigWin.Wind1(); });
Work1.Start();
Work1.Join();
listBox1.Items.Insert(0, result1);

p.s. Сама идея - эмуляция СМО. Суть: таймер генерирует int x, отправляет его в очередь. Срабатывает событие, которое проверяет доступность одного из трех потоков. После "задержки", каждый поток возвращает результат в свой listbox.

READ ALSO
Вывод счетчика цикла ASP MVC

Вывод счетчика цикла ASP MVC

Хочется отображать а странице, счетчик итераций циклаНе знаю как это сделать

300
массив объект класс [требует правки]

массив объект класс [требует правки]

приветпомогите написать консольное приложение кинотеатр на C# чтобы был массив класc объект

319
Подключение к бд программно

Подключение к бд программно

у меня есть база данныхmdf Мне надо после установки указать этот файл в форме

284
модифицировать код [требует правки]

модифицировать код [требует правки]

Требуется добавить циклif и else

244