![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 27.10.2013
Сообщений: 22
|
![]()
Здравствуйте! У меня вопрос: в чем смысл строки кода if(currentName != Thrd.Name) в методе Run() класса MyThread? Через конструктор класса MyThread мы передаем параметр name, который присваивается как Thrd.Name, так и currentName. Зачем же сравнивать их в блоке if, если они уже одинаковы? Причем, во время выполнения программы строка в блоке if "Console.WriteLine("В потоке " + currentName);" таки выводится, но как? Каким образом проверка if(currentName != Thrd.Name) достигает значения true, если они с самого начала равны одному и тому же значению? Заранее спасибо.
Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
![]() Код:
Имена потоков в итоге делают одинаковыми для того чтобы выводить сообщение не больше одного раза. Если ты запустишь через некоторое время еще один или более новых потоков с промежуточным интервалом ты увидишь в чем разница. п.с. В MyThread currentName не нужно присваивать для того чтобы условие внутри потока выполнилось хотя бы один раз. Последний раз редактировалось coNsept; 21.05.2014 в 00:34. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Изучение С++ с нуля, по Шилдту Г. | WizzardFox | Помощь студентам | 3 | 02.04.2014 20:43 |
Многопоточность | lalilulelo | Операционные системы общие вопросы | 20 | 16.04.2012 19:33 |
Многопоточность | nats | C# (си шарп) | 5 | 25.06.2011 11:51 |
Многопоточность | boo_mago | Общие вопросы C/C++ | 7 | 21.03.2011 21:23 |
Многопоточность | Dezmont_ | Общие вопросы .NET | 1 | 06.11.2010 18:34 |