You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C# Console中运行while无限循环同时执行后续代码

解决方案

你原来的同步无限循环会阻塞当前主线程,所以循环下方的代码永远无法执行,只需要把修改标题的逻辑放到独立的后台任务/线程中运行,就能同时执行其他代码了。

推荐实现(Task.Run 异步方案)

using System;
using System.Threading;
using System.Threading.Tasks;

class Program
{
    static void Main(string[] args)
    {
        // 启动后台任务运行标题切换逻辑,不会阻塞主线程
        _ = RunTitleSwitchLoop();
        
        // 这里可以写你需要执行的其他代码,不会被上面的循环阻塞
        Console.WriteLine("主线程其他逻辑开始运行...");
        Console.ReadLine();
    }

    static async Task RunTitleSwitchLoop()
    {
        // Random 提到循环外实例化,避免短时间生成重复随机值
        Random rnd = new Random();
        string[] palavras = { "hi", "2", "bye", "ok", "nah", "idk", "done", "local", "can you", "bruh", "example", "nope", "hehe" };
        
        while (true)
        {
            // 用Task.Delay代替Thread.Sleep,不会阻塞线程
            await Task.Delay(100);
            int index = rnd.Next(palavras.Length);
            Console.Title = palavras[index];
        }
    }
}

线程实现方案(可选)

如果你更习惯用Thread类实现,也可以用下面的写法:

using System;
using System.Threading;

class Program
{
    static void Main(string[] args)
    {
        Thread titleThread = new Thread(SwitchTitleLoop);
        // 设置为后台线程,程序退出时会自动销毁
        titleThread.IsBackground = true;
        titleThread.Start();
        
        // 这里写其他业务逻辑
        Console.WriteLine("其他逻辑正常运行...");
        Console.ReadLine();
    }

    static void SwitchTitleLoop()
    {
        Random rnd = new Random();
        string[] palavras = { "hi", "2", "bye", "ok", "nah", "idk", "done", "local", "can you", "bruh", "example", "nope", "hehe" };
        
        while (true)
        {
            Thread.Sleep(100);
            int index = rnd.Next(palavras.Length);
            Console.Title = palavras[index];
        }
    }
}

原有代码优化点说明

  • 不要在循环内部实例化Random:Random默认用系统时间作为种子,短时间多次实例化会生成相同的随机值,放到循环外只实例化一次即可
  • 你代码里声明的int[] numbs没有被使用,可以直接删除
  • 异步方案中用Task.Delay替代Thread.Sleep,可以减少线程资源占用

内容的提问来源于stack exchange,提问作者Bife

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:06:01