Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при компиляции 
:(
    Опции темы
slesar123
Дата 4.6.2020, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.6.2020

Репутация: нет
Всего: нет



При компиляции выдает 2 ошибки, как это можно исправить?

Задание звучит так: Требуется разработать многопоточное приложение (в качестве средства разработки следует использовать Microsoft Visual Studio). Приложение состоит из 4 потоков:
• “main” (главный поток): запускает потоки “inc”, “dec” и “print”. Далее, поток постоянно (каждые 10 миллисекунд) проверяет значение переменной ACCOUNT и завершает процесс, если ACCOUNT вышел за границы диапазона [-10000, +10000].
• “inc” – поток время от времени (паузы выбираются случайным образом от 100 миллисекунд и до 3 секунд включительно) увеличивает значение переменной ACCOUNT на некоторую случайную величину (например от 1 до 100).
• “dec” – поток время от времени (паузы выбираются случайным образом от 100 миллисекунд и до 3 секунд включительно) уменьшает значение переменной ACCOUNT на некоторую случайную величину (например от 1 до 100).
• “print” – выводит на экран новое значение переменной ACCOUNT (как только оно изменилось).

Код

namespace ConsApp_ThreeThreads
{
    class Program
    {
        static void Main(string[] args)
        {
            Random rnd = new Random();
            long account = 0;
            AutoResetEvent accountChangedEv = new AutoResetEvent(false);
 
            var incThread = new Thread(new ThreadStart(() =>
            {
                while (!IsFinished(account))
                {
                    Interlocked.Add(ref account, rnd.Next(1, 100));
                    accountChangedEv.Set();
 
                    Thread.Sleep(rnd.Next(100, 3001));
                }
            }));
 
            var decThread = new Thread(new ThreadStart(() =>
            {
                while (!IsFinished(account))
                {
                    Interlocked.Add(ref account, -rnd.Next(1, 100));
                    accountChangedEv.Set();
 
                    Thread.Sleep(rnd.Next(100, 3001));
                }
            }));
 
            var printThread = new Thread(new ThreadStart(() =>
            {
                while (!IsFinished(account))
                {
                    accountChangedEv.WaitOne();
                    Console.WriteLine("Account изменено на " + account);
                }
            }));
 
            printThread.Start();
            incThread.Start();
            decThread.Start();
 
            incThread.Join();
            decThread.Join();
            printThread.Join();
 
            Console.WriteLine("Работа завершена!");
            Console.ReadKey();
        }
 
        static bool IsFinished(long account)
        {
            return account < -10000 || account > 10000;
        }
    }
}


user posted image

Это сообщение отредактировал(а) slesar123 - 4.6.2020, 18:12
PM MAIL   Вверх
xvr
Дата 5.6.2020, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Это НЕ С++. Похоже на С#

PM MAIL   Вверх
kahari
Дата 22.6.2020, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 22.6.2020

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1057 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.