Deadlock Kategorie: Programmierung (von Mario Fischer - 30.08.2002 3:42) | |
| |
Hallo, Obwohl ich die Thread-Synchronisiermethodik der CC2 durchaus verstanden habe, komme ich bei folgendem Problem nicht weiter: Gegeben ein Thread Im Sowohl Natuerlich hat das Programm unten so keinen Sinn, es ist eben nur der problematische Teil, so weit wie moeglich gekuerzt. Darum sind auch Vorschlaege wie "mach doch ein halt/resume auf den filewriter" leider keine Loesung. Vielen Dank fuer Vorschlaege, Mario // das schoene Programm: const FILESIZE = 511; byte file_lock; int file_ptr; byte file[FILESIZE]; thread filewriter // in datei schreiben { capture file_lock; if (fileptr < FILESIZE) { file[file_ptr] = file_ptr; file_ptr = file_ptr + 1; } release; sleep 500; } thread main { byte rxbuf; file_ptr = 0; file_lock = 0; run filewriter; loop { wait hwcom.rxd(); rxbuf = hwcom.get(); if ('s' == rxbuf) // datei senden { capture file_lock; hwcom.put(fileptr); hwcom.put(fileptr >> 8); hwcom.send(file, fileptr); release; } if ('e' == rxbuf) // echo test, ob mainthread noch ok { hwcom.put('e'); } } } | |
Antwort schreiben Antworten: Re: Deadlock (von André H. - 30.08.2002 9:09) Re: Deadlock (von Mario Fischer - 31.08.2002 1:53) Re: Deadlock (von André H. - 31.08.2002 8:33) Re: Deadlock (von Stefan - 30.08.2002 8:38) Re: Deadlock (von Mario Fischer - 31.08.2002 1:38) |