Je pense avoir un problème de synchronisation ... Il peut aussi basic..Please aide ..Java Multi problème de synchronisation de thread?
J'ai un fil de la méthode d'exécution dont est inférieure à
public void run()
{
while(true)
{
try {
for (int i = 0; i < 100; i++) {
buf.append(hello + (myint++));
}
buf.append("\n");
adapter.setData(buf.toString());
buf = null;
buf = new StringBuffer();
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(TestThread.class.getName()).log(Level.SEVERE, null, ex);
}
}
Je crée une nouvelle chaîne données dans chaque course et le passage à la méthode de la classe adaptateur setData ..
dans la classe d'adaptateur mon setData est comme ça ..
public boolean setData(String sb){
str = sb;
if(str != null && !str.equalsIgnoreCase("")){
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
System.out.println("inside run.....");
System.out.println("str length:- "+str.length());
//do sth after this..
}
}
Bu t une fois de temps en temps j'obtiens une exception de pointeur null à la ligne str.length() ... Je reçois cela même quand j'essaye de créer une nouvelle chaîne avec le buf.toString() dans la première méthode d'exécution ..
Qu'est-ce que je fais mal ??
Merci à l'avance ..
Merci pour votre réponse. déclarant str comme finale aidé comme indiqué ci-dessous..J'en ai besoin dans la classe intérieure –
Ce n'est pas le "final" qui a aidé! Il est en train de changer pour une variable locale qui l'a fait. –