java问题求解
我的一个java的程序里面出现如下问题,恳求各位高手帮助有两个类,一个类LtlReader,其中定义了变量 private static boolean steering=false;
有getSteering和setSteering函数。当程序运行达到一定的条件后,会调用steering的set函数,使得steering的值为true;另外,有一个类train.java,类中有一个函数run(),是一个隔一秒钟执行一次的函数run(),其中有语句
if(LtlReader.getSteering())问题是当类LtlReader中变量steering被赋值为true时,类train.java通过LtlReader.getSteering()读到的steering值始终是false。求解?也不知道说清楚没有,呵呵。
我的一个java的程序里面出现如下问题,恳求各位高手帮助有两个类,一个类LtlReader,其中定义了变量 private static boolean steering=false;
有getSteering和setSteering函数。当程序运行达到一定的条件后,会调用steering的set函数,使得steering的值为true;另外,有一个类train.java,类中有一个函数run(),是一个隔一秒钟执行一次的函数run(),其中有语句
if(LtlReader.getSteering())问题是当类LtlReader中变量steering被赋值为true时,类train.java通过LtlReader.getSteering()读到的steering值始终是false。求解?也不知道说清楚没有,呵呵。
不应该出项这种情况的!
除非你没调用到set函数!
你调试一下看看吧!
steering是静态变量,我只能说这种情况是不可能的
贴代码看一下
给你的多线程共享变量steering加个volatile修饰符
http://javadbserver.ucoz.com/
http://javadbserver.free.mingyao.net