Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Как открыть только что закрытый файл https://www.cyberforum.ru/ csharp-beginners/ thread1454672.html
Решаю задачу с ней проблем нет, проблема возникла в том что не понимаю как открыть файл (в 45 строке), который я закрыл в предыдущей строке (43 строка). C# изучаю недавно, помогите пожалуйста. using...
Выводить данные в файл до того момента, пока не закончатся комбинации C#
Всем привет, вопрос как можно сделать, чтобы вывод в файл происходить до того момента, пока не закончатся комбинации, в зависимости от задаваемой длины строки? using System; using...
C# Данные не отправляются на сервер
Все было норм. а потом , может после какого-то изменения в ?веб конфиге? или еще где получается так, что метод GET не работает вот проблема на скрине метод в контроллере соответсвтующий данному...
C# Увеличить размер перебираемой строки Всем привет, есть прога, которая делает перебор символов с определенной длиной в строку, есть проблема Он генерирует все комбинации цифр длиной в 7 символов, а в 8 и более уже нет, выдает ошибку... https://www.cyberforum.ru/ csharp-beginners/ thread1454540.html
C# Расширение уровня документ https://www.cyberforum.ru/ csharp-beginners/ thread1454529.html
Здравствуйте подскажите как создать расширение для EXСEL уровня документ. Или может у кого то есть пример. Так как у VS при создании по шаблону "Книга EXCEL" выдает ошибку "Невозможно создать...
Добавление элементов в хеш-таблицу C#
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System; using System.Collections; namespace Hash_2 { class Program
Распарсить текстовый файл C#
Привет всем. Есть файл 1.txt . В нем строки table2495gjbo4 table240gb354 //98 table24g3545 Мне нужно вытащить из файла 98 и сохранить в переменную dd. Если не сложно, напишите код,...
C# Где хранятся реализации методов классов типов? Приветствую! Для решения вот этих задач: https://www.cyberforum.ru/cpp-beginners/thread1450954.html https://www.cyberforum.ru/csharp-beginners/thread1450950.html решил разобраться в... https://www.cyberforum.ru/ csharp-beginners/ thread1454456.html
C# Добавить строку в текстовый файл https://www.cyberforum.ru/ csharp-beginners/ thread1454389.html
Имеется текстовый файл. Добавить в него строку из двенадцати черточек (------------), разместив ее: а) после пятой строки; б) после последней из строк, в которых нет пробела. Если таких строк нет,...
C# Создать метод, который будет выполнять увеличение длины массива Требуется: Создать метод, который будет выполнять увеличение длины массива переданного в качестве аргумента, на 1 элемент. Элементы массива, должны сохранить свое значение и порядок индексов.... https://www.cyberforum.ru/ csharp-beginners/ thread1454379.html
310 / 271 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
22.05.2015, 17:54 0

Очередь с приоритетом сделать многопоточной

22.05.2015, 17:54. Просмотров 1191. Ответов 2
Метки (Все метки)

Лучший ответ Сообщение было отмечено Rabbit13245 как решение

Решение

Вот вам накидал небольшой пример:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
class Module1
{
    public static void Main()
    {
        AddQueue newQueue=new AddQueue();
        Thread th1=new Thread(newQueue.AddElement);
        th1.Start();
 
        ReadQueue readQueue=new ReadQueue();
        Thread th2=new Thread(readQueue.ReadElement);
        th2.Start();
 
    }
}
 
public class Synhronize
{
    public static List<int> lst=new List<int>();
    public static bool FlagFinishThread = false;
    public static Mutex mut = new Mutex();
}
 
class AddQueue
{
    public void AddElement()
    {
        Random rm=new Random();
        for (int i = 0; i < 10; i++)
        {
            Synhronize.mut.WaitOne();//ждем мьютекс   
         
            int element = rm.Next(100);
            Synhronize.lst.Add(element);//добавляем в очередь элемент
            Console.WriteLine("Поток поставил в очередь число {0}. В очереди {1} чисел", element, Synhronize.lst.Count);
 
            Synhronize.mut.ReleaseMutex();//освобождаем мьютекс
        }
        Synhronize.FlagFinishThread = true;//взводим флаг для завершения потока чтения очереди
        Console.WriteLine("Поток с добавлением элементов завершил работу");
    }
}
 
class ReadQueue
{
    public void ReadElement()
    {
        while (!Synhronize.FlagFinishThread | Synhronize.lst.Count>0)//читаем очередь, пока не взведен флаг или есть элементы в очереди
        {
            if (Synhronize.lst.Count > 0)
            {
                Synhronize.mut.WaitOne();//ждем мьютекс
 
                int element = Synhronize.lst[0];
                Synhronize.lst.RemoveAt(0);//удаляем элемент из очереди
                Console.WriteLine("Поток прочитал число {0} и удалил его из очереди. В очереди {1} чисел", element, Synhronize.lst.Count);
 
                Synhronize.mut.ReleaseMutex();//освобождаем мьютекс
            }
        }
 
        Console.WriteLine("Поток с чтением элементов завершил работу");
    }
}


Вернуться к обсуждению:
Очередь с приоритетом сделать многопоточной
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2015, 17:54

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Очередь с приоритетом
как реализовать очередь с приоритетом на бинарной куче?при том нужно графически вывести на консоль...

Очередь с приоритетом
У меня есть задание: 9. Разработать шаблон класса для работы с очередью с приоритетами,...

Очередь с приоритетом
есть очередь #include &lt;iostream&gt; #include &lt;queue&gt; using namespace std; int main() { ...

Очередь с приоритетом
Всем привет . Собственно нужно организовать очередь с приоритетом. Задание: В офисе один...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.