Как считать числа выводимые из потоков? - C#

Узнай цену своей работы

Формулировка задачи:

Вообщем сделал я программу, которая иммитирует работу пчел ( пчела - это поток) и они несут мед медведю - проблема в том, что я не знаю как считать числа выводимые из потоков, чтобы сравнивать их с числом меда, которое должен есть медведь, чтобы не помереть с голода) Так вот - знающих прошу написать как будет выглядеть считывание из потоков и сравнение.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;
 
namespace zad2_1
{
    public class MyTheard
    {
        private object threadLock = new object();
 
        public void Pcheli()
        {
            lock (threadLock)
            {
                Console.WriteLine("работает пчела №{0}", Thread.CurrentThread.Name);
                Console.Write("мед: ");
                for (int i = 0; i < 10; i++)
                {
                    Random rand = new Random();
                    Thread.Sleep(100);
                    Console.Write(rand.Next(10) + " ");
                }
                Console.WriteLine();
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            int n, v,k=0;
            Console.WriteLine("Введите лимит питания мишки");
            v = Convert.ToInt32(Console.ReadLine());
            Console.Write("Введите количество пчел ");
            n = Convert.ToInt32(Console.ReadLine());
 
            MyTheard mt = new MyTheard();
            Thread[] threads = new Thread[n];
 
            for (int i = 0; i < n; i++)
            {
                threads[i] = new Thread(new ThreadStart(mt.Pcheli));
                threads[i].Name = string.Format("Работает пчела №{0}", i + 1);
                threads[i].Start();
                int a = Convert.ToInt32((int)threads.GetValue(i));
                Console.WriteLine("Значение а: = " + a);
                if(a>v)
                //if ((int)threads.GetValue(i) > v)
                {
                    Console.WriteLine("Мишка в норме");
                    k = 0;
                }
                else
                {
                    Console.WriteLine("Мишка голодает");
                    k++;
                    if (k == 2)
                    { Console.WriteLine("Винни помер"); break; }
                }
            }  
        }
    }
}

Решение задачи: «Как считать числа выводимые из потоков?»

textual
Листинг программы
    class Program
    {
          public static int med;
....

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы