c# - 不能用布尔标志停止线程
问题描述
我遇到了以下问题:
在 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);
}
}
}
因此,在表单代码中,我通过单击按钮调用“toggleAction()”函数,由于线程不断滚动并且整个应用程序没有响应,它似乎没有起到作用。
解决方案
推荐阅读
- neo4j - 在哪里可以找到 Neo4j Desktop 的 apoc.conf?
- c# - HttpWebResponse 返回错误的 html
- powershell - Powershell - 如何根据文件名创建文件名数组?
- python-3.x - 升级到 Anaconda 2020.02 后“import pandas as pd”执行失败
- python - 如何改进这个列表理解?
- r - 在 R 中创建自定义函数
- amazon-web-services - 如何通过 aws 代码管道将自定义柏树报告发送到 slack
- python - 如何使用 Nltk RegexTokenizer 获取文本的原始标记值
- javascript - 如何在css中将单词设置为垂直换行
- c# - .Net 核心 api 响应在小情况下如何更改默认设置