什么是Console.ReadLine();在下面的代码中做什么?

时间:2017-12-12 07:16:37

标签: c#

如果我评论Console.ReadLine(),则只打印0。但当我取消注释时,所有99个数字都被打印出来。 readline做什么?很难掌握这个。

[2017-12-12 10:26:02,583] ERROR [ReplicaFetcherThread-0-1], Error for partition [__consumer_offsets,22] to broker 1:org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)

2 个答案:

答案 0 :(得分:4)

Console.ReadLine()导致主线程阻塞,直到用户输入内容,这允许另一个线程完成其任务。没有它,主线程,因此程序在任务有机会完成之前终止

答案 1 :(得分:2)

Console.ReadLine()正在尝试获取输入(可能来自用户)。所以它在等待时停止程序。在这种情况下,LongTask()正在运行,打印0到99。

如果您注释掉Console.ReadLine()Main()功能退出,程序结束,LongTask()有时间打印所有数字。