Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
darksector
-5 / 4 / 4
Регистрация: 05.05.2013
Сообщений: 296
1

Разработать программу, генерирующую n потоков в пуле потоков CLR

22.03.2015, 00:41. Просмотров 555. Ответов 3
Метки нет (Все метки)

Добрый вечер. Решил поделать старые лабораторные, которые мне уже давно нужно было сдавать, но встрял на одном задании: "Разработать программу, генерирующую n потоков в пуле потоков CLR. Каждый поток раз в 10 миллисекунд выводит свой идентификатор и номер шага".
Насколько я понял, то каждый поток через 10 миллисекунд должен выводить свой номер и свой шаг.
Я сделал так
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.Threading;
 
namespace ex_5
{
    class Program
    {
        static void Event(object arg)
        {
            int step = 0;
            while (true)
            {
                step++;
                Console.Write("Thread {0} номер шага {1}; ", arg, step);
                Thread.Sleep(10);
            }
        }
 
        static void Main(string[] args)
        {
            Console.Write("Введите количество потоков: ");
            int n = int.Parse(Console.ReadLine());
            for (int i = 0; i < n; i++)
                ThreadPool.QueueUserWorkItem(new WaitCallback(Event), (object)i);
            Console.ReadKey();
        }
    }
}
но, я не думаю, что использовать бесконечный цикл и Thread.Sleep(10); здесь целесообразно. Можете помочь решить эту задачу через ThreadPool, но по средством таймера? Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2015, 00:41
Ответы с готовыми решениями:

отслеживание потоков
есть список ссылок. я в цикле перебираю ссылки и асинхронно гружу каждую...

Синхронизация потоков
Подскажите как сделать так, чтоб потоки выполнялись по порядку вот такой...

Синхронизация потоков
Гуглю уже долго, а ответа все так и не нашел. Ситуация такая. У меня есть...

Синхронизация потоков
В общем идея была в том, что создаётся список потоков List&lt;Thread&gt; threads;. ...

Синхронизация потоков
Не пойму своей ошибки в этих двух примерах кода, пожалуйста подскажите. ...

3
Innex
4 / 4 / 0
Регистрация: 30.11.2011
Сообщений: 53
22.03.2015, 08:55 2
Просто создавай таймеры. Таймеры на сколько я помню поток берет как раз из тредпула, тоесть явного использования ThreadPool не нужно.
0
darksector
-5 / 4 / 4
Регистрация: 05.05.2013
Сообщений: 296
22.03.2015, 14:29  [ТС] 3
Цитата Сообщение от Innex Посмотреть сообщение
Просто создавай таймеры. Таймеры на сколько я помню поток берет как раз из тредпула, тоесть явного использования ThreadPool не нужно.
Все бы хорошо, но я не имею понятия как мне это сделать...
0
Innex
4 / 4 / 0
Регистрация: 30.11.2011
Сообщений: 53
24.03.2015, 01:40 4
Еще проще, чем тот код что ты написал )
https://msdn.microsoft.com/ru-ru/lib...vs.110%29.aspx
Внизу есть пример использования
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2015, 01:40

Создание потоков
Привет всем. Есть программа в которой количество используемых потоков должно...

синхронизация потоков
Добрый вечер! Имеется несколько потоков, каждый поток выполняет генетический...

Синхронизация групп потоков
Здравствуйте! Помогите, пожалуйста. У меня есть метод MonitoringThread() в...


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

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

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