无法停止带有布尔标志的线程

时间:2018-09-30 13:34:15

标签: c# multithreading

我遇到了以下问题:

在C#表单应用程序中,我在类函数上生成线程,该类函数仅在将布尔标志设置为false时才循环。但这不会改变布尔状态的循环。

class Kasa {
    public bool _stop = false;

    private int x;
    private int y;

    public Kasa(int x, int y)
    {
        kasaImageNotActive = BufferedImage.getImage("kasa.jpg");
        kasaImageActive = BufferedImage.getImage("kasa.png");

        this.x = x;
        this.y = y;
    }


    public void toggleAction() {
        _stop = !_stop;
    }

    public void act() {
        while (!_stop) {
             System.Console.WriteLine("aktiw " + x + " - >" + _stop);
         }  
    }
}

因此在Form代码中,我通过单击按钮来调用“ toggleAction()”函数,由于线程不断滚动并且整个应用程序都没有响应,因此似乎并没有解决问题的方法。

0 个答案:

没有答案