请教关于线程的一个问题
各位好
以下是我写的一段代码,很神奇的是,在被标记的那一行,有时会报出NULL指针错误。
有人告诉我说可能是线程异步,导致在if的时候是非空,然后进入执行块的时候,由于某些原因,变成空了,这可能吗?
if (sender != null && !sender.isAlive()) { sender.run(); <===标记 Log.i(TAG_LISTENER, "$ServerSender back to running"); } else if (sender == null) { sender = new ServerSender(serverSocket); sender.start(); Log.i(TAG_LISTENER, "$ServerSender started in ServerListener"); }