28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173

Threadpool - неправильная итерация переменной

25.06.2016, 17:08. Показов 661. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

По идее, в консоли должно выводиться: 1, 2, 3, 4 и т.д. до 10.
А на самом деле выводится 5, 10, 10, 10, 10, 10, 10 и т.д.

Подскажите, в чем ошибка?

Мне нужно посылать через ThreadPool в метод WriteDigit() цифру, которая будет меняться.


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
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
 
            for (int i = 0; i < 10; i++)
            {
                ThreadPool.QueueUserWorkItem(new WaitCallback(x =>
                {
                    WriteDigit(i);
                }));
            }
 
            Console.ReadKey();
        }
 
        static public void WriteDigit(int i)
        {
            Console.WriteLine(i.ToString());
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.06.2016, 17:08
Ответы с готовыми решениями:

Неправильная передача значения переменной
Еще раз здравствуйте. Возникла такая проблема: при открытии файла с помощью GetOpenFileName в глобальную переменную name записывается имя...

Неправильная кодировка при передачи переменной
Доброго времени суток друзья. Неправильная кодировка при передачи переменной на страницу find.php Реализую поиск, передаю данные...

Threadpool
нужен тредпул,хранящий созданные треды и назначает им задания.Что посоветуете?примеры,литература...все что угодно.спасибо.

2
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.06.2016, 17:21
C#
1
2
3
4
5
6
7
8
            for (int i = 0; i < 10; i++)
            { 
                int j = i;
                ThreadPool.QueueUserWorkItem(new WaitCallback(x =>
                {
                    WriteDigit(j);
                }));
            }
1
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
25.06.2016, 17:48  [ТС]
Спасибо, так работает!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.06.2016, 17:48
Помогаю со студенческими работами здесь

ThreadPool
Посоветовали мне использовать ThreadPool вместо Thread, но пока не понял, как его использовать. Если раньше: Thread myThread = new...

Закрытие ThreadPool
И снова здравствуйте. Есть оконное приложение, его структура: private void button1_Click(object sender, EventArgs e) ...

Использование ThreadPool
Собственно есть массив строк, насколько знаю для операций в нескольких потоках,в .Net 4.x лучше использовать ThreadPool. Насколько...

Свой ThreadPool
Стоит довольно забавная задача. Допустим запустился поток №1 , через некоторое время создался поток №2 . Как сделать так, что бы...

ThreadPool и BlockingCollection
Добрый день. Имеется многопоточное приложение, в одном потоке очередь заполняется сообщениями, в другом сообщения извлекаются и...


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

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

Новые блоги и статьи
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru