[stoblog]

Semaphore: noch einmal

Idee: eine Druckerei mit n-Drucker. Kunde geht rein und versucht an einem der Drucker sich etwas auszudrucken. Der Kunde ist nicht sehr schlau – er nimmt einfach eine random-Nummer und probiert es da aus. Der Semaphore bleibt wie gewöhnt… Der Drucker:

Die Druckerei enthält eine Liste mit n-Drucker, die im Konstruktur initialisiert werden:

0

Eingeschränkter Zugriff

Habe nach einem anderen Beispiel gesucht, wo ich die Semaphore anwenden kann. Die Aufgabe heißt Friseursalon-Problem: Es existiert ein Friseursalon mit einer bestimmten Anzahl Plätze – kein Eintritt möglich, wenn er voll ist. Der Kunde K tritt ein und setzt sich auf Sofa, wenn es Plätze auf dem frei sind. Bleibt stehen, wenn das Sofa belegt ist. K wartet bis ein Stuhl frei wird. Setzt sich hin und wartet auf den Friseur F. K wird bedient und bezahlt F, wenn Kasse nicht belegt ist. Sonst warten K und F bis…read more

0

Parallelität

Die Parallele Programmierung und ich führen eine komische Beziehung seit einer gewissen Zeit. Manchmal verstehen wir uns ganz gut, manchmal habe ich gar keine Ahnung woher eigentlich meine Probleme kommen. Gut, dann mache ich hier wie immer “rubber duck debugging” mit mir selber…. Das grundliegende Problem bei der Parallelisierung ist mir eigentlich klar (soweit ich mich einschätzen kann). Es gibt aktive und passive Klassen. Die Aktiven sind ja die Threads – sie arbeiten. Sie lesen oder verändern Werte… sie brauchen keine Synchronisierung bei ihren Methodenaufrufe. Die Probleme kommen bei den…read more

0

Services

Android. Meine Klausur ist in ein paar Tage und ich wollte für mich selbst hier eine Erklärung machen. Es geht um Services. Habe schon während des Semesters Probleme gehabt, die zu verstehen und jetzt musste ich mich bisschen mehr einlesen. Also es gibt zwei Typen – gestartete Service (meine Professoren nennen ihn ungebundener Service) und gebundener Service. Zuerst der ungebundener Service: dieser Service läuft solange er nicht explizit beendet wird, d.h. sogar wenn der Thread, von dem er gestartet wurde, beendet wird, läuft dieser Service weiter. Es gibt nicht viele…read more

0

Vermerk zu adb und BroadcastReceiver im Android

Die letzten 3-4 Tagen, habe ich richtige Schwierigkeiten mit dem BroadcastReceiver gehabt. Kleiner Vermerk – so broadcastet man mit dem adb am broadcast “intent:#Intent;action=android.intent.action.BATTERY_CHANGED;i.scale=100;i.level=70;i.plugged=1;end” oder mit mehreren Extras: #Intent;action=android.intent.action.BATTERY_CHANGED;launchFlags=0×60000010;i.icon-small=17302838;B.present=true;i.scale=100;i.level=100;S.technology=Li-ion;i.status=5;i.voltage=4155;i.invalid_charger=0;i.plugged=2;i.health=2;i.temperature=280;end   Vielen Dank an stackoverflow wie immer

0

RMI-Zähler

Hier habe ich die Lieblingsaufgabe von einem Prof von mir – ein Plus-Minus-Zähler- zwei Buttons, die einen Wert erhöhen oder erniedrigen. Ziel dieser Aufgabe war aber Remote Method Invocation anzuwenden und als eine kleine GUI zu implementieren. Weil ich schon letztes Semester mit JavaFX gearbeitet habe, habe ich mich entschieden dieses statt Swing zu benutzen und die Aufgabe nach dem Model-View-Presenter zu machen. So, zuerst braucht man eine Schnittstelle, die Remote ableitet. Das ist soll mein Modell darstellen. Jede Methode dabei muss RemoteException auswerfen. Für die Anwendung brauche ich dann…read more

0

Mein kleiner Android Taschenrechner

Habe letzte Woche mein erstes sinnvolles Android-App geschrieben. Als Aufgabe von der Uni sollte jeder von uns ein Taschenrechner programmieren. Habe dieses am Wochenende noch ein bisschen bearbeitet – am meisten habe ich mit den Styles beschäftigt, da vieles da nicht sauber genug war. Als erstes habe ich die Layouts angefangen – Buttons und EditText-Feld. Jedem Button habe ich einen Text (in strings.xml) und Style (in styles.xml) zugewiesen. In styles.xml habe ich oft die onClick-Methode geschrieben, da die meisten Buttons die gleiche Methode benutzen (alle Zahlen habe die Methode buttonClick…read more

0

Datei kopieren mit JavaFX

Vor 2 Tage habe ich ein kleines Programm um Dateien zu kopieren angefangen. Dann wollte ich auch das ganze schön mit einem GUI machen – ein Progressbar und ein Start-Button. Muss zugeben, dass ich die Prozentberechnung am Anfang nicht hinbekommen da, aber irgend welche Algorithmen nie meine Stärke waren. Also mir war es klar, ich brauche eine Klasse für das GUI und eine Thread-Klasse, die die Oberfläche immer wieder aktualisieren soll. Gut, dann aber brauche ich noch eine Methode um die Datei zu kopieren – wo stelle ich denn das?…read more

0

Erster Versuch mit Android

Letzte Woche war meine erste Vorlesung über Android und ich bin echt gespannt. Habe am Wochenende bisschen was zum laufen gebracht. Ein ganz simples App mit einem Button zum Sprach-Auswahl. Werde mich noch lange genug mit Android beschäftigen, nun ist es bisschen anstrengend mich an den ganzen Struktur zu orientieren – ganz ganz viele Dateien und Ordner… Die Java-Datei (Programmlogik und so) sind im java-Ordner und das Layout (wie die App aussieht – Layers, Buttons, etc.) sind im layout-Ordner – so far so good. Es erinnert mich an JavaFX, weil…read more

0

GBO-Klausur endlich vorbei

Die GBO-Klausur ist gestern top gelaufen und ich bin soooooo froh!!! War auch nicht so kompliziert, aber wie gesagt – ich wußte nicht wie sie unter Stress laufen wird. Die Aufgabe war relativ einfach – eine Tabelle mit Trainingspläne, beim selektieren sollten irgendwelchen Labels gezeigt werden, ein Button um zu löschen und ein Button um Pläne hinzufügen…. prinzipiell sehr ähnlich zu den Sachen, die ich auch hier gezeigt habe. Wenn man den hinzufügen-Button drückt, soll eine neue Stage gezeigt werden, wo man in TextFelder alles ausfüllen kann. Wenn in einer…read more

0