当前位置: 代码迷 >> J2SE >> 请问关于线程的一个有关问题
  详细解决方案

请问关于线程的一个有关问题

热度:28   发布时间:2016-04-24 01:13:17.0
请教关于线程的一个问题
各位好

以下是我写的一段代码,很神奇的是,在被标记的那一行,有时会报出NULL指针错误。

有人告诉我说可能是线程异步,导致在if的时候是非空,然后进入执行块的时候,由于某些原因,变成空了,这可能吗?

Java code
                    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");                    }


请各位畅所欲言,先谢谢了。

------解决方案--------------------
如果sender是公用的对象,完全就有可能
------解决方案--------------------
也有可能不是sender为NULL,而是run方法中某个变量是NULL。
提供的信息太少,无法确定准确的原因。
  相关解决方案