3 / 3 / 1
Регистрация: 06.04.2009
Сообщений: 165
1

Не могу разобратся с многопоточностью

22.03.2016, 11:00. Показов 522. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Помогите советом, а то я завис =)
Есть некий класс:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
...
 class Coordinates
        {
            static SerialPort _SerialPort;
            public Coordinates() { }
            ...
            public void Read(string port_name)
            {                
                _SerialPort.PortName = port_name;
                string message = "";
                do
                {
                    try
                    {
                        message = _SerialPort.ReadLine();
                    }
                    catch (TimeoutException)
                    { }
                    Thread.Sleep(50);
 
                } while (message != "@" || Stop == true);
            }
            ...
И вот я хочу вызвать этот метод Read в другом потоке:
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
25
26
...
private void ReadFile(string filename)
        {
            string line;
            StreamReader reader = new StreamReader(richTextBox3.Text);
            do
            {
                line = reader.ReadLine();
            }
            while (!line.StartsWith("Feed (1st)"));
 
            do
            {
 
                alpha.Find(line);
                if (alpha.Correct_coord == true)
                {
                    SendInf();
                    Thread Read_Thread= new Thread(alpha.Read(serialPort2.PortName));   //<<==== ОШИБКА ЗДЕСЬ
                     Read_Thread.Start();
                }
 
            } while ((line = reader.ReadLine()) != null);
            reader.Close();
        }
...
Но мне не дают этого сделать, так как "Аргумент 1: не удается преобразоватьиз "void" в "System.Threading.ThreadStart"."
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2016, 11:00
Ответы с готовыми решениями:

Не могу разобратся с компилятором((
Не могу понять как его вызвать. В книге написано запустите компилятор csc.exe Нашел у себя в папке...

Проблемы с многопоточностью
Программа для восстановления забытого пароля к rambler.ru В однопоточном режиме работала, после...

С многопоточностью разобраться
Помогите с многопоточностью разобраться

Парсинг, регулярные выражения с большим объёмом и многопоточностью
Всем привет, нужна помощь в распарсовке XML документа, документ огромных размеров, все теги и...

1
976 / 871 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
22.03.2016, 14:00 2
Ukrajinec, конструктор класса Thread, как легко можно заметить, принимает делегаты двух типов:
ParametrizedThreadStart и ThreadStart. Ваш метод Read, как несложно заметить, ни одному из них не соответствует. У него должен быть либо 1 аргумент типа object, либо не быть аргументов вообще, у вас же он почему-то принимает string.

Во-вторых, вот тут
C#
1
Thread Read_Thread= new Thread(alpha.Read(serialPort2.PortName));
Подается не делегат, а возвращаемое значение из данного метода(которое void, что и написано в исключении). Подавать надо как-то так:
C#
1
Thread Read_Thread= new Thread(alpha.Read);
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2016, 14:00
Помогаю со студенческими работами здесь

Проблема с многопоточностью: вычисление интеграла дает случайные значения
Есть следующая задача, решить интеграл методом прямоугольников используя многопоточность. Я...

разобратся не могу
Привет всем.Дали курсовую(не мне). Немогу разобратся. Создайте в базе данных под управлением...

Не могу разобратся
3. Как изменяется напряжение стабилитрона UСТ когда ток стабилитрона становится ниже 20 мА? 4....

Не могу разобратся
Прога работающий аксес базами, не хочет работать в клиентским машине... Поняти не...

Не могу разобратся
Всем привет. Мне стало интересно, как можно реализовать проверку авторизации пользователя в админ...

JS + SVG, не могу разобратся
Нужно чтобы по нажатию на кнопку создавался SVG-рисунок. Вот написан мной код: &lt;html&gt; &lt;head&gt; ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru