Войти
ПрограммированиеФорумОбщее

Как правильно остановить поток в С#?

#0
12:21, 12 апр. 2016

Основной поток (static void Main(string[] args)) остановлен вот таким способом.

while ( Console.ReadKey().KeyChar != 'q' )
{
  Console.WriteLine();
  continue;
}
При компиляции и запуске (mono) в линукс терминале или в консоле админки (Webmin) это вызывает непрерывный поток пустых строк.
Как правильно остановить поток без считывания строк и вывода их на экран?


#1
12:49, 12 апр. 2016

эм? тебе нужен бесконечный цикл? дык вот, простейший пример:
while(true){Thread.Sleep(0);}

#2
12:52, 12 апр. 2016

Ясно. А чтение клавиши оставить никак?

#3
13:00, 12 апр. 2016

тогда просто убери Console.WriteLine(); у себя. да собственно и continue там лишний
ps. без отображения эха Console.ReadKey(false);

#4
13:32, 12 апр. 2016

ShockWave2048
> Ясно. А чтение клавиши оставить никак?
кажется никто не понимает чего ты хочешь получить

#5
16:47, 12 апр. 2016

Мне нужно убрать непрерывный поток пустых строк в linux консолях, (решение уже тут предложено, и оно подходит).

Чтение клавиши в принципе было бы не плохо оставить, ( решение тоже предложено )  но это уже фигня, и как нибудь потом разберусь ))

#6
13:52, 13 апр. 2016

ShockWave2048
> Мне нужно убрать непрерывный поток пустых строк в linux консолях
> Чтение клавиши в принципе было бы не плохо оставить

Ты привёл код, который в цикле читает клавишу и пишет в консоль, но читать клавишу и писать в консоль тебе не нужно, да и сам цикл ты тоже хочешь остановить. Зачем вообще тогда нужен этот цикл? Какую проблему ты решаешь?

Заморозить поток до получения сигнала от другого потока? AutoResetEvent, ManualResetEvent.

PS
Чё-та я разучился читать даже цитируемый текст. :)
Если чтение клавиши оставить, а остальное удалить, нафига это чтение нужно?

#7
16:17, 13 апр. 2016

ShockWave2048
Что ты подразумеваешсья под потоком? Thread?
Потому что дальше похоже, что ты совсем не про thread говоришь:
> непрерывный поток пустых строк

#8
19:27, 13 апр. 2016

alexzzzz
> Ты привёл код, который в цикле читает клавишу и пишет в консоль, но читать
> клавишу и писать в консоль тебе не нужно, да и сам цикл ты тоже хочешь
> остановить. Зачем вообще тогда нужен этот цикл? Какую проблему ты решаешь?
Проблему отсутствия мозга, очевидно же. Этот школьник скопипастил откуда-то кусок кода, не понимая что он делает и нахера он нужен.

ПрограммированиеФорумОбщее

Тема в архиве.