我有一个多线程应用程序的问题,绑定到按钮停止线程
thread = NULL;
之后我启动另一个线程(使用相同的变量)
thread = new Thread(this, "game");
thread.start();
在新线程之后,线程仍然为空,我不知道为什么请帮忙。
我有一个多线程应用程序的问题,绑定到按钮停止线程
thread = NULL;
之后我启动另一个线程(使用相同的变量)
thread = new Thread(this, "game");
thread.start();
在新线程之后,线程仍然为空,我不知道为什么请帮忙。
在没有更多信息的情况下,以下内容仅是猜测。请在将来显示更多详细信息并解释您为调试问题所做的工作。
在新线程之后,线程仍然为空,我不知道为什么请帮忙。
构造函数不可能返回 anull
所以其他事情正在发生。
Thread thread = null;
thread = new Thread(this, "game");
// thread is guaranteed to be non-null here
也许您正在两个线程之间共享线程字段?例如,也许您的主线程启动了后台线程,而 UI 线程正在尝试读取它?在这种情况下,您应该使线程volatile
在线程之间共享。
volatile Thread thread = null;
如果它已经是不稳定的,那么您正在处理该thread
字段的不同实例。也许该thread
字段应标记为static
?