老师我在这里把逻辑反着写,为什么while里面的东西没有打印出来呢?

来源:14-6 【操作】Join 与 IsAlive

慕前端8369922

2022-06-25

老师我在这里把逻辑反着写,为什么while里面的东西没有打印出来呢?
Console.WriteLine(“Hello World!”);

        Thread t = new Thread(() => {

            PrintHello(cts.Token);
          
            });



        while (!t.IsAlive)
        {
            Console.WriteLine("quit ");
            Console.WriteLine("quit ");
            Console.WriteLine("quit ");
            break;
        }
        Console.WriteLine("quit ");

输出结果如下: 图片描述

    private static void PrintHello(CancellationToken c)
    {
        int i = 0;
        while (i++ < 10)
        {
            Thread.Sleep(300);
            Console.WriteLine("PrintHello");
        }

    }
写回答

1回答

阿莱克斯刘

2022-06-27

关于这个问题,你只需要在进入while循环之前打印一下当前thread.IsAlive的数据就能明白了

//img.mukewang.com/szimg/62b8927a092e952a12540624.jpg

输出是这样的:

//img.mukewang.com/szimg/62b892f109ea6d6604520516.jpg

因为这个while循环从来都没进去嘛

0
1
慕前端8369922
非常感谢!
2022-06-27
共1条回复

C#速成指南--从入门到进阶,实战WPF与Unity3D开发

系统掌握C#核心和应用,获得全行业适配的技能

870 学习 · 200 问题

查看课程