为什么Console.WriteLine可以在多个线程中运行?
答案 0 :(得分:59)
答案 1 :(得分:6)
.NET 4.5 CLR中存在一个错误,如果您使用Console.ReadKey,则会使Console.WriteLine 不在多个线程中运行。它已在某些Windows版本中修复,但在8.1 Windows Update中尚未找到它。
Using Console.WriteLine in a Timer why it would appear to exit?
答案 2 :(得分:2)
使用Console.WriteLine
时,多个线程会写入相同的输出,默认情况下通常是您的屏幕。
答案 3 :(得分:0)
控制台和您的代码是两个独立的应用程序
控制台窗口不是您的应用程序。控制台应用程序是不可见的,您的应用程序不包含控制台。控制台安装在 Windows 本身中。
Console.Writeline() 是一条消息
它写入一个 TextStream。 Microsoft 的控制台进程只是等待显示新的流文本。
“控制台应用程序”名称并未使其成为控制台
与 ui 项目的不同之处在于控制台应用程序带有一组简化的引用,并依赖输入/输出流与用户进行通信。
您甚至不需要控制台,您可以构建自己的控制台,或者使用调试器来查看和写入。
与记事本对比
如果一个文件是一条消息,并且记事本打开了由您的代码保存的文件流。从哪个线程保存文件并不重要。您没有访问任何用户界面。