-5

所以假设一台除了运行这个程序什么都不做的计算机有 500 功率。当它运行它时,它会下降到450。当它关闭程序时,它会回到500吗?代码:

bool shouldCheck = true;
    string word = "hndxgfhesufyhsukj";
    string name = "NAME OF PROGRAM HERE";
    bool updates = false;

    private void button1_Click(object sender, EventArgs e)
    {
        if (shouldCheck == true)
        {
            var url = "MYURL";
            var client = new WebClient();
            using (var stream = client.OpenRead(url))
            using (var reader = new StreamReader(stream))
            {
                string downloadedString;
                while ((downloadedString = reader.ReadLine()) != null)
                {
                    if (downloadedString == word)
                    {
                        updates = true;
                        this.Hide();
                        Form1 form2 = new Form1();
                        form2.Show();
                        MessageBox.Show("There's no updates, and the full program has opened! Enjoy!", name, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        client.Dispose();
                    }
                    else
                    {
                        MessageBox.Show("There is an update! Downloading now!", name, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        url = "MYURL";
                        var web = new WebBrowser();
                        web.Navigate(url);
                    }
                }
            }
        }
    }

这运行良好,但在程序关闭后会损害性能吗?通过关闭,我的意思是更新已被检查,新表单打开并使用红色 X 按钮关闭。

4

3 回答 3

2

答案是肯定的,它应该恢复全功率。您可以检查任务管理器以确保您的程序已正确关闭。如果它消失了,就很难继续对您的机器产生性能影响。您需要注意的一件事是表单是否已关闭但应用程序仍在后台运行。如果是,它将在任务管理器中列出。

于 2012-09-06T22:49:21.270 回答
1

如果您创建线程,请务必将它们设置为后台线程。这样,如果您忘记手动关闭它们,当您的程序退出时,它们将终止。否则你的程序将继续运行。

http://msdn.microsoft.com/en-us/library/system.threading.thread.isbackground.aspx

您还应该正确(并且很好地)停止您启动的任何线程,以确保正确释放所有资源。

于 2012-09-07T01:13:03.067 回答
0

如果您曾经使用线程,则需要注意一点,您必须在关闭函数或线程本身中添加线程停止以查找关闭和结束本身。不久前我遇到了一个问题,因为我的一个线程没有正确关闭并从计算机中吸取资源,直到它重新启动。

于 2012-09-07T00:55:10.710 回答