Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 线程不再将退出代码返回控制台_C#_Visual Studio - Fatal编程技术网

C# 线程不再将退出代码返回控制台

C# 线程不再将退出代码返回控制台,c#,visual-studio,C#,Visual Studio,这是我应该担心的吗?在测试程序时,它会向控制台写入消息,如线程0x2430已退出,代码为0(0x0)。今天,当我在一些更改后进行测试时,我注意到这些消息不再出现。实际上,我还没有对代码做任何会导致它们无法退出的剧烈更改。事实上,如果他们不这样做,程序就会陷入等待他们完成的困境。我确实注意到,每当我开始新一轮时,程序的内存使用量都会增加,然后在超过某个值后“下降”。有没有办法让线程返回代码 以下是我使用的两种类型线程的代码: public async void Viive(int i, i

这是我应该担心的吗?在测试程序时,它会向控制台写入消息,如线程0x2430已退出,代码为0(0x0)。今天,当我在一些更改后进行测试时,我注意到这些消息不再出现。实际上,我还没有对代码做任何会导致它们无法退出的剧烈更改。事实上,如果他们不这样做,程序就会陷入等待他们完成的困境。我确实注意到,每当我开始新一轮时,程序的内存使用量都会增加,然后在超过某个值后“下降”。有没有办法让线程返回代码

以下是我使用的两种类型线程的代码:

    public async void Viive(int i, int d, int t, int sd, bool mode, PictureBox o)
    {
        int c = 0;
        Console.WriteLine("Async " + i);

        while (d <= 750)
        {
            if (mode == true)
            {
                d += t;
            }
            Form1.hedelmat[i]++;
            if(Form1.hedelmat[i] >= 10)
            {
                Form1.hedelmat[i] = 0;
            }

            o.Image = Image.FromFile(Form1.hedelma_img[Form1.hedelmat[i]]);

            await Task.Delay(d);

            c++;
            if (c > sd)
            {
                mode = true;
            }
        }

        Form1.valmis[i] = true;
    }
这一步只是等待上面的所有线程完成,然后再调用程序中的下一步


自从我记得看到线程退出消息以来,我就有了这样的核心功能。您对什么可能导致此问题有何看法?

visual studio设置的更改可能导致此问题,您最近是否修改了这些设置?我想我没有修改过。如果您知道什么设置会导致这种情况,我可以查看一下当前设置是什么。在VS的输出窗口中单击鼠标右键,确保选中了“线程退出消息”。我选中时已启用这些消息。我现在已使线程正确退出,但内存消耗仍然是一个问题
    public async void OdotaLukuja()
    {
        while (valmis[3] == false)
        {
            await Task.Delay(1000);
        }

        Tulokset();
    }