C
cederick
Neues Mitglied
- 0
Eine einfache und wahrscheinlich auch schnell beantwortete Frage, ich habe eine Runable die soweit auch funktioniert aber wenn ich die Thread.sleep(10000); Metode mit einer While- Schleife austausche passiert es ziemlich oft das auch der MainThread beansprucht wird und ich frage mich woran das liegt und natürlich warum es mit einer geschätzten Wahrscheinlichkeit von 30 % dann doch funktioniert.
der Thread wird so gestartet:
und die Runable sieht so aus:
und so sieht die Runable aus wenn ich eine While-Schleife verwende:
der Thread wird so gestartet:
Code:
public void surf_view_resume() {
this_thread = new Thread(this);
isrunning = true;
this_thread.start();
}
und die Runable sieht so aus:
Code:
@Override
public void run() {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
h.post(new Runnable() {
@Override
public void run() {
calc.calc_resume();
running_listener.onisrunning(isrunning);
}
});
while (isrunning) {
if (holder.getSurface().isValid() && !calc.isStartcalc()) {
calc.setStartcalc(true);
Canvas canvas = holder.lockCanvas();
setcanvas(canvas);
holder.unlockCanvasAndPost(canvas);
}
}
}
und so sieht die Runable aus wenn ich eine While-Schleife verwende:
Code:
@Override
public void run() {
int i = 0;
while (i <= 1000000000) {
i++;
}
h.post(new Runnable() {
@Override
public void run() {
calc.calc_resume();
running_listener.onisrunning(isrunning);
}
});
while (isrunning) {
if (holder.getSurface().isValid() && !calc.isStartcalc()) {
calc.setStartcalc(true);
Canvas canvas = holder.lockCanvas();
setcanvas(canvas);
holder.unlockCanvasAndPost(canvas);
}
}
}
, ich habe geschrieben das wenn ich mein Tablet anschließe der Explorer freezen kann und ich deshalb auch, Bridge nicht vw. kann und das mein PC schon min 4Jahre alt ist, weshalb der Emulator ewig lädt und manchmal das Laden auch nicht beendet.