xibriz Skrevet 22. september 2007 Del Skrevet 22. september 2007 Nå er jeg usikker på kunnskapsnivået her inne, men det er litt vanskelig å få spurt læreren på en lørdag/søndag Jeg har noe kode som skal kjøre i en egen tråd, det tråden utfører krever en del tillatelser fra brukeren (jeg jobber mot PIM databasen på en mobil enhet og da kreves en del sikkerhetspørsmål når midleten ikke er signert). Uten å gå vidre inn på hvordan koden min er, så kan jeg avsløre at alt fungerer når jeg debugger, men ikke når jeg kjører applikasjonen som vanlig. Og da er spørsmålet... WTF? Lenke til kommentar
xibriz Skrevet 22. september 2007 Forfatter Del Skrevet 22. september 2007 (endret) Etter å ha prøvd å feilet litt har jeg funnet ut hva som funkerer og hva som ikke fungerer... Dette fungerer (har lagt på noen deklarasjonsnavn slik at det skal være enklere å se hvilken type variabler vi har her): //Variabler Vector changesMob; Thread changesT pimThread = new pimThread(this, changesMob); changesT = new Thread(pimThread); changesT.start(); //changesMob.removeAllElements(); mainForm.setCommandListener(this); Display.getDisplay(this).setCurrent(mainForm); Problemet er at jeg vil også ha med linjen som er kommentert ut, og da virker det ikke som at tråden kjører (kun i debug)... Det virker som at den tømmer vectoren før tråden kjøres. Noen som har vært borti lignende problemer? Endret 22. september 2007 av xibriz Lenke til kommentar
McFly Skrevet 22. september 2007 Del Skrevet 22. september 2007 Jeg har vært borti lignende problemer. Det som kan skje er at når du starter en tråd, så blir den koden utført parallelt med koden i metoden som startet tråden. Det kan bety at noen ganger så kjøres koden i changesT sin run() metode før changesMob.removeAllElements, mens andre ganger så slettes alt innholdes i changesMod vektoren før koden i changesT sin run() metode kjøres. Du må finne en måte å sikre at koden utføres i den rekkefølgen du ønsker at den skal utføres. Lenke til kommentar
xibriz Skrevet 23. september 2007 Forfatter Del Skrevet 23. september 2007 Jeg er enig i det du sier her, men synes det er litt merkelig at det er mer eller mindre tilfeldig hva som skjer. Fant uansett en løsning på problemet Lenke til kommentar
McFly Skrevet 23. september 2007 Del Skrevet 23. september 2007 Du bestemmer jo selv at det skal være tilfeldig, i og med at du deler utføringen av programmet opp i to tråder. Det er jo tråders natur Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå