Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2014, 20:30   #1
danil123
Пользователь
 
Регистрация: 06.07.2012
Сообщений: 80
По умолчанию Определение потока

Код:
Thread t1 = new Thread(() =>
                 {
                     while (true)
                     {
                         if (Thread.CurrentThread == t1)
                             Thread.Sleep(1000);
                     }
                 });
Пишет, что t1 не проинициализирована здесь Thread.CurrentThread == t1. Каким образом это исправить?
danil123 вне форума Ответить с цитированием
Старый 11.12.2014, 20:36   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А что вы сделать-то хотите?

Как-то так, например:
Код:
            Thread t1 = null;

            ThreadStart func = () =>
            {
                while (true)
                {
                    if (Thread.CurrentThread == t1)
                        Thread.Sleep(1000);
                }
            };

            t1 = new Thread(func);
Но ваш код странно выглядит, что вы этим достичь хотите?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.12.2014, 20:44   #3
danil123
Пользователь
 
Регистрация: 06.07.2012
Сообщений: 80
По умолчанию

Я не знаю почему, но у меня sleep выполняется также в основном потоке, а должен только в t1. Но ведь то, что написано в этом блоке должно выполняться только в t1, а не в основном потоке?
danil123 вне форума Ответить с цитированием
Старый 11.12.2014, 21:17   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А запускаете поток как?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение состояния потока DarkSmile Win Api 12 29.07.2014 20:37
Зависание потока bilibian Общие вопросы Delphi 13 06.03.2014 04:05
Как получить доступ к методу потока(TThread) из основного потока? Pcrepair Общие вопросы Delphi 3 30.03.2013 14:52
Должно быть 3 потока. А диспетчер задач показывает, что потока создано 2 BEL9ILLI Общие вопросы Delphi 3 06.12.2011 20:26
Как узнать номер потока из самого потока? GaMeSTeR Помощь студентам 0 03.12.2010 09:50