41 / 37 / 9
Регистрация: 01.02.2014
Сообщений: 825
|
||||||||||||||||
1 | ||||||||||||||||
Почему Task выводит одинаковые значения?22.09.2018, 13:38. Показов 2238. Ответов 9
Метки нет Все метки)
(
Добавлено через 11 минут если сделать например так, то код прекрасно работает..
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
22.09.2018, 13:38 | |
Ответы с готовыми решениями:
9
Почему при наследовании метода из базового класса получаются одинаковые значения? Почему htmlAgilityPack возвращает одинаковые значения? Цикл выводит одинаковые значения в массиве |
906 / 663 / 318
Регистрация: 23.10.2016
Сообщений: 1,538
|
|
22.09.2018, 13:52 | 2 |
В первом случае у вас одна-единственная логическая переменная i. Во втором же, 80 различных логических переменных с именем qqq.
0
|
41 / 37 / 9
Регистрация: 01.02.2014
Сообщений: 825
|
|
22.09.2018, 14:00 [ТС] | 3 |
TopLayer, но я же создаю такси в цикле, разве он не должен дожидаться создания такска, а только потом переходить к следующей итерации?
0
|
906 / 663 / 318
Регистрация: 23.10.2016
Сообщений: 1,538
|
|
22.09.2018, 14:02 | 4 |
MakcPletnev, он дожидается. У вас таска: вывести значение переменной i. А переменная i - одна. Когда таски начнут выполнятся они будут работать с одной и той же переменной.
0
|
41 / 37 / 9
Регистрация: 01.02.2014
Сообщений: 825
|
|
22.09.2018, 16:18 [ТС] | 5 |
TopLayer, int это разве ссылочный тип? в функцию передается не копия int переменной?
0
|
![]() 6269 / 3897 / 1567
Регистрация: 09.05.2015
Сообщений: 9,188
|
|
22.09.2018, 16:29 | 6 |
Про замыкания переменных вы конечно не слышали?
0
|
41 / 37 / 9
Регистрация: 01.02.2014
Сообщений: 825
|
|
22.09.2018, 16:30 [ТС] | 7 |
Someone007, нет) Так и называется? Замыкание переменных?
0
|
906 / 663 / 318
Регистрация: 23.10.2016
Сообщений: 1,538
|
||||||
22.09.2018, 17:13 | 8 | |||||
![]() Решение
О ссылках заботится компилятор. В следующем примере компилятор по сути преобразовывает код класса Test1 в код класса Test2.
1
|
Master of Orion
![]() |
|
23.09.2018, 05:57 | 9 |
![]() Решение
MakcPletnev, потому что замыкание на мутабельную переменную. Нужно понимать, что таски не запускаются на выполнение сразу, а сначала шедулятся на выполнение, а потом выполняются. К моменту начала выполнения цикл скорее всего закончится и все они будут ссылаться на единственное значение 80. Подобронее тут: https://habr.com/post/141270/
1
|
41 / 37 / 9
Регистрация: 01.02.2014
Сообщений: 825
|
|
23.09.2018, 11:05 [ТС] | 10 |
Спасибо всем за объяснение)
0
|
23.09.2018, 11:05 | |
Помогаю со студенческими работами здесь
10
Почему в последнем массиве все значения одинаковые Почему метод identityHashCode возвращает одинаковые значения для двух объектов-оберток Integer от 0 до 127 Почему выводит адреса, а не значения? Это часть программы Почему программа выводит сообщение на одной строке а запрос ввода значения на другой?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |