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