Zitat von
DelphiManiac:
...
Also wenn die Methode noch aktiv ist sollen "die" anderen warten, also müsste das im Prinzip in eine Queue gehen die nach FIFO die Aufrufe macht, wenn die Methode nicht mehr besetzt ist, so macht es doch auch die Windows Queue, aber da kann ja der Methoden aufruf durch dass Appl.Processmessages dazwischen kommen.
Gruß
Hallo,
du siehst das schon nebelhaft richtig, wenn Tuwas zwar exklusiv ist, aber nach Aufruf immer abgearbeitet werden muss, dann muss man wohl die Programmstruktur nicht unerheblich ändern und für Tuwas eine Warteschlange einrichten - die Aufrufer platzieren dort also ihren Wunsch nach Tuwas und die Parameter dazu. Das Problem setzt sich aber fort: können die Aufrufer dann weitermachen oder müssen sie warten, bis ihr Tuwas fertig ist? Das erhöht das Deadlock-Potential gewaltig und setzt sorgfältige Planung voraus.
Da Windows (inzwischen) preemptive Multitasking verwendet, kann man auch mit einer einfachen boolschen variable in Schwierigkeiten kommen, daher solltest du dich mit den Möglichkeiten des BS beschäftigen wie Mutexe, Semaphoren, Critical Sections usw. Ist komplex, aber das liegt halt am Problem.
Gruss Reinhard