Es geht um C# und es ist die Queue.Synchronized-Methode gemeint. Bei der ich mir nicht ganz sicher bin was sie eigentlich macht.
Beiträge von Volker83
-
-
Danke für den schnellen Rat, das Script finde ich auch super.
-
Hallo
ich schreibe gerade eine Bibliothek die Images bekommt sie weiterverarbeitet und wieder zurück gibt.
Die Images sollen vom aufrufenden Programm in einer BMP-Queue gelegt werden, von da wird die Bibliotheks-Komponente die Images wieder herraus nehmen um sie zu bearbeiten. Das rausnehmen und reinlegen in die Queue wird in 2 seperaten Threads getan. D.h. zur selben Zeit in der etwas rausgenommen wird kann es sein, dass der andere Thread auf die Queue zugreift und etwas reinlegen will.
Wie mache ich die Queue Threadsicher? Ich habe gelesen dass man den Zugriff während einer Zeit durch eine LocVar blockieren kann, oder mit Hilfe der Synchronized-Methode einer anderen Queue organiseren kann. Wo ist der Unterschied und welche der Lösungen ist zu empfehlen? -
vielen Dank für die schnelle Antwort
-
Ja warum gibt es die Möglichkeit ein Interface zu definieren, wenn man die Methode Eigenschaft... auch normal in der Klasse definieren kann. Wo ist der Unterschied?
Und der zweite Teil meiner Frage ist wie ich den Zugriff auf meine Puffer implementiere: entweder ein Zugriff über get bzw. set oder soll ich dem aufrufenden System direkt auf die List klasse zugreifen lassen? -
Hallo
ich schreibe gerade eine Klassenbibliothek in C#. Das Programm in das die Bibliothek eingebunden wird, soll der Bibliothek asynchron Images übergeben. Diese Images werden beaerbeitet und wieder zurück an das aufrufende Programm gegeben. Ich möchte die Schnittstellen einmal mit einem Input-Puffer(Das aufrufende System legt Bitmaps dort hinein) und einem Output-Puffer(Bibliothek legt bearbeitete Images dort ab) realisieren. Ich bin mir über die Schnittstelle noch nicht im klaren. Es gibt mehrere Möglichkeiten:-Das aufrufende Programm greift direkt auf den Input- und Output-Puffer zu. Die Puffer sind Bitmap-Lists die in der Bibliothek instanziert werden.
-Auf die Puffer können nur über get bzw. set zugegriffen werden. Diese Eigenschaft kann man in einem Interface definieren und der Klasse vererben, habe ich gelesen. Aber wozu soll man extra eine Schnittstelle definieren, wenn man die get und set auch direkt als Eigenschaft der Klasse deklarieren kann
Welche möglichkeit ist besser und wozu das Interface?
-
Hallo
ich bin dabei ein SW-Modul zu entwickeln, welches Bitmaps übergeben bekommt, diese nach Barcodes durchsucht und die dekodierten Nummern wieder zurück gibt.
Ich habe für die Architektur mehrere Ansätze:1. Das Modul läuft in einem parallelen Thread und fragt über einem Timer die Schnittstelle der aufrufenden Umgebung ab. Wenn
eine neue Bitmap bereit liegt, wird diese in einem Imagepuffer zwischengespeichert und in einem internen Thread weiterverarbeitet(Barcodes ausgelesen) und an das aufrufende System zurück gegeben.
Evtl. könnten die die Barcodes + Images, vor der Ausgabe, auch in einem weiteren Puffer zwischengespeichert werden.2. Das Modul stellt eine Methode zur Verfügung, die jeweils nur 1 Image übergeben bekommt, dieses nach Barcodes durchsucht und danach Image + Barcode als Rückgabewert zurück gibt.
Also eine sequentielle Abarbeitung der Images.Das Modul sollte vielseitig nutzbar sein z.B. bekommt es die Images direkt von einem Scanner, oder Bilder aus einem Ordner übergeben.
Kann mir jemand sagen ob die Nutzung eines Threads in diesem Fall sinvoll ist??