Hallo zusammen
Ich habe danach gesucht, gibt ja viele Threads dazu hier. Jedoch wurde ich zu meinem "Problem" nicht fünidg. Ich hoffe das ist auch wirklich so, ansonsten endschuligt bitte.
Allgemein ne coole Sache, in doInBackground wird in einem externen Thread alles gewerkelt und in onPostExecute kann man dann über die zurückgegebene Variable von doInBackground die Sachen an der GUI verarbeiten. Soweit alles klar.
Jetzt habe ich aber folgendes. Ich habe einen AsyncTask und IM onPostExecute von diesem wieder einen Aufruf für andere AsyncTask.
Jetzt habe ich festgestellt, das das onPostExecute vom zweiten AsyncTask erst aufgerufen wird, wenn das vom ersten fertig ist. Jetzt wo ich das gerade schreibe, wird mir auch klar warum, ist ja dann wieder im gleichen Thread.
Ich habe eben folgendes Grundproblem. In meinem onPostExecute vom Hauptasynctask steht folgendes:
new Group_CreateGenerallyGroupIfNotExist().execute(user);
while (!c_Glob_Variables.CheckForFinishedCheckGenerallyGroup_Get()) {
try { Thread.sleep(100); }
catch (InterruptedException e) { e.printStackTrace(); }
}
Ich will das der onExeCute von der HauptAsyncTask erst weiter macht wenn der zweite komplett fertig ist und den Boolean demnach verändert hat. Aber so entsteht ein deadlock. Wie macht man das also? Order geht sowas nicht?
Ich hoffe ich habe es verständlich ausgedrückt
Gruss Black Rider