控制Conslone.Writeline的输出速度

问题描述

在写控制台应用程序的时候想要 Conslone.Writeline 输出文字的速度慢一些,很简单的一个小问题,百度搜索了一下竟然没找到答案,真是让人无可奈何,想办事情还是要靠Google,搜索了一下之后找到了一个VB.NET的程序,看了看方法都是差不多的。故在此改写记录一下希望百度能够快速收录帮助到后边需要的人。

想要实现这个功能需要使用Thread这个类,在Windows中系统能够同时运行多个程序,每一个正在运行的程序被称为一个进程。同一个进程又可以分为若干个独立的执行流,称为线程。线程需要引用System.Threading这个命名空间,其中的Thread类用于创建和控制线程。

实现方法:

代码展示:

要想实现控制控制台输出速度的话,在每执行一次Console.WriteLine让该线程阻塞一定的时间即可,由 Thread类的主要方法 这个表格可知使用 Sleep() 这个方法即可实现。在 Console.WriteLine(str); 之后加上 System.Threading.Thread.Sleep(100); 即可括号内数字的单位为毫秒(ms)

static void Main(string[] args)
        {
            StreamWriter sw = new StreamWriter("MyFile.txt", true, System.Text.Encoding.Unicode);
            //sw.WriteLine("第一条语句");
            //sw.WriteLine("第二条语句");
            sw.Close();

            StreamReader sr = new StreamReader("MyFile.txt", System.Text.Encoding.Unicode);
            string str;
            while ((str = sr.ReadLine()) != null)
            {
                Console.WriteLine(str);
                System.Threading.Thread.Sleep(100);//每执行一次输出阻塞线程100ms
            }

            sr.Close();
            Console.ReadLine();

        }

线程的用法还有很多,除了下面表格列出的常用内容外还有很多,这里仅针对 控制Conslone.Writeline的输出速度 这个问题进行描写,其他用途可根据自己的实际情况进行修改。

Thread 类定义

命名空间:System.Threading程序集:mscorlib.dll

创建和控制线程,设置其优先级并获取其状态。

Thread类的主要属性

属性说明
IsAlive获取一个值,该值指示当前线程的执行状态
IsBackground获取或设置一个值,指示某个线程是否为后台线程
IsThreadPoolThread获取一个值,指示线程是否属于托管线程池
Name获取或设置线程的名称
Priority获取或设置一个值,该值指示x线程的调度优先级
ThreadState获取一个值,该值包含当前线程的状态

Thread类的主要方法

主要方法 描述
Start()启动线程的执行
Suspend()挂起线程。如果线程已挂起,则不起作用。
Resume()继续执行已挂起的线程
Interrupt()终止处于Wait或者Sleep或者Join状态的线程
Join()阻塞调用线程,直到某个线程终止时为止
Sleep()将当前的线程阻塞(休眠)指定的毫秒数
Abort()终止线程的执行。终止后线程不能通过Start()来启动

参考链接:

减慢控制台速度 - Thinbug

登山亦有道 | 记录日常,每天进步一点点。 (chenyan98.cn)

Thread类的常用属性、方法及说明_ba_wang_mao的专栏-CSDN博客_thread类的属性



© 版权声明
THE END
喜欢就支持一下吧
点赞15赞赏
分享
评论 抢沙发

请登录后发表评论