Weiß jemand, wie ich die lock und conditions in java hier zu programmieren habe?

Hi, ich beschäftige mich zurzeit mit lock und conditions.

public class LockedDataObject extends DataObject {


    /** Anzahl aktueller Leser */
    int noReaders;


    /** Wahr, wenn Schreiber momentan wartend oder schreibend */
    boolean writer;


    /**
     * Condition-Variable zum Schlafenlegen von bzw. Aufwecken des Schreibers
     */
    Condition condWrite;


    /** Condition-Variable zum Schlafenlegen bzw. Aufwecken der Leser */
    Condition condRead;


    /**
     * Sperre, um alle oberen Variablen zu schützen. Bevor auf eine der
     * Variablen zugeriffen wird, muss ggf. diese Sperre erworben werden. Der
     * Erwerb der Sperre soll *nur dann* erfolgen, wenn es für die korrekte
     * Ausführung unbedingt notwendig ist. Das ist bei einem ändernden Zugriff
     * nur dann der Fall, wenn andere Threads die entsprechende Variable
     * zeitgleich lesen oder schreiben können. Bei einem lesenden Zugriff soll
     * die Sperre nicht erworben werden, wenn andere Threads zeitgleich nur
     * lesend, aber nicht schreibend, auf die entsprechende Variable zugreifen
     * können.
     */
    ReentrantLock lock;


    public LockedDataObject() {
        this.lock = new ReentrantLock();
        this.condRead = lock.newCondition();
        this.condWrite = lock.newCondition();
        this.noReaders = 0;
        this.writer = false;
    }


    public int sum() {
        // Beachten Sie durchgängig die korrekte Verwendung der Sperrvariable
        // "lock". Erwerben Sie die Sperre nur, falls unbedingt notwendig.


        // 1. Solange ein Schreiber wartet oder schreibt, schlafenlegen.


        // 2. Anzahl der Leser um 1 erhöhen.


        // 3. Summe bilden
        int sum = super.sum();


        // 4. Anzahl der Leser erniedrigen und ggf. Schreiber aufwecken.


        // 5. Summe zurueckgeben
        return sum;
    }


    public void randomSwap() {
        // Beachten Sie durchgängig die korrekte Verwendung der Sperrvariable
        // "lock". Erwerben Sie die Sperre nur, falls unbedingt notwendig.


        // 1. Anzeigen, dass ein Schreiber wartet.


        // 2. Schlafenlegen, solange noch mindestens ein Leser aktiv


        // 3. Elemente vertauschen
        super.randomSwap();


        // 4. Anzeigen, dass kein Schreiber mehr wartet/schreibt und
        // ggf. Leser aufwecken.
    }
}




Diese Aufgabe haben wir als Übung erhalten, der Dozent meinte, durch die Kommentare, sei das eine 5 Minuten Aufgabe, damit können wir mal üben.

Es sei so einfach, dass keine Lösungen nötig seien..., da ja alles kommentiert sei.

Die Aufgaben stehen bei den beiden Methoden, also was genau man zu tun hat...

Wie wprde man das lösen? Könnte das jemand kurz tun, damit ich mal sehe, wie man hier vorgeht, ich lerne mehr beim sehen einer korrekten Lösung, wenn ich ein Thema neu lerne.

Ich konnte mir zu allem was denken, außer zu: "    // 1. Anzeigen, dass ein Schreiber wartet." Wie soll man das zeigen?

Computer, Schule, programmieren, Java, Informatik
Bezüge in Excell?

Hallo,

ich möchte in Excel eine kleine Datenbank bauen mit mehreren Tabellen die miteinander verknüpft sein sollen. die erste Tabelle ist praktisch meine Schable in die ich Daten eintrage bzw. via Dropdown menü die Daten aus einer anderen Tabelle ziehen möchte. 3 weitere Tabellen sollen dann die "Datenbanken" sein.

Also ich möchte praktisch folgendes:

Ich hab meine Schablone in der ich in einer Spalte per Dropdown Menü eine Auswahl über ein Produkt treffen kann. Zu diesem Produkt sind aber noch weitere Parameter in der Datenbanktabelle gegeben, zum Beispiel Preis, Gewicht, Artikelnummer, Regalnummer, Fachnummer.

Wie ich das Dropdownmenü hinzimmern kann ist ja klar aber wie kann ich diese Parameter gleich mit rüberziehen wenn ich eine der Auswahlmöglichkeiten wähle? Die schablone sieht ungefähr so aus in Spalten:

Die Anzahl an Artikel, das Gewicht und der Preis sollen dann zusammengerechnet werden bei mehreren Artikeln.

die Datenbanktabelle sieht ungefähr so aus:

kann mir jemand helfen wie ich nun diese Parameter mit von der Datenbank in die jeweiligen Zellen importieren kann wenn ich nur in dem Dropdownmenü eine Auswahl treffe?

Vlt hat ja auch jemand eine Idee wie ich die Artikel Nach Typ trennen kann? Also ich wähle in einem Dropdownmenü z.B. "Schraube" aus und im nächsten feld entsteht dann ein Dropdownmenü das mir entsprechend die verschiedenen Varianten(M5x20, M5x25,...) zur Auswahl gibt? Wäre euch echt mega dankbar für hilfreichen Kommentare!!

Danke schon mal und eine angenehme Woche euch allen.

Mit freundlichen Grüßen

Michél

#

PS: Wer Rechtschreibfehler findet darf Sie behalten :D

Bild zum Beitrag
Computer, Office, Microsoft Excel, programmieren, Datenbank, Tabellenkalkulation, Dropdownliste
Elden Ring startet nicht warum?

Hallo,

nun nach 6 Stundenlangen versuchen gebe ich auf und frage einfach mal.

Ich habe mir gestern Elden Ring für den PC geholt (Steam) und heruntergeladen. Wenn ich das spiel allerdings Starten will passiert folgendes: Anticheat taucht auf und lädt dann weißer screen dann die Logos von bandainamco und fromsoftware und weg es crasht ohne irgendeine Fehlermeldung. Allerdings kann es auch sein das es davor schon abstürzt beim laden beim Anticheat oder sonst wo ich komme nicht übers Logo von Fromsoftware hinaus.

Was habe ich bisher getan?

  • Elden Ring neu installiert 2x
  • Grafikkartentreiber komplett deinstalliert und installiert
  • alle unnötigen Programme deinstalliert
  • Direct x neu installiert
  • Treiber im allgemeinen überprüft (neu installiert)

Nach all dem frage ich mich nun woran es liegen kann da ich das game testweiße mal auf meinem Gaming Notebook installiert habe und dort alles läuft. Und deswegen bitte ich euch ob ihr vielleicht noch eine Idee habt. Hardware Infos stehen unten. Beim Notebook ist nur die Grafikkarte besser (Nvidia RTX 3080).

PC Hardware:

  • CPU - AMD Ryzen 9
  • GPU - Nvidia RTX 2080
  • RAMM - 32GB DDR4
  • Mainboard - MSI (KA welches :D)
  • Netzteil - 800W

Danke im voraus für eure Hilfe ich werde nun noch den crash Report von Windows anschauen vl. hilft das ja noch weiter.

Bild zum Beitrag
Weil Baum :D 71%
Bei mir auch!! 14%
Hatte ich auch das Problem 14%
Computer, Computerspiele, Technik, PC-Problem, Steam, Technologie, bandai namco, From Software, Spiele und Gaming, Elden Ring
JavaScript Rechentrainer Schulaufgabe?
<html>
	<head>
		<title> Kopfrechentrainer </title>
	</head>
	<body>
<script language=javascript>


{	var a;
	var b;
	var c;
	var d;
	var f=0;
	var r=0;
}	
	function random()
	
{
	a=Math.floor(Math.random()*90)+10;
	document.rechnen.eingabe1.value=a;
	
	b=Math.floor(Math.random()*9)+1;
	document.rechnen.eingabe2.value=b;	
}


	function kontrolle()
{
	
		if(onclick=kontrolle){onclick=random}
	c=document.rechnen.vergleich.value;
	if(a*b==c){r++;document.rechnen.richtig.value=""+r}
	if(a*b!=c){f++;document.rechnen.falsch.value=""+f}
	
	if(r+f==5)
{
	if(r==0){alert('oh, das war garnichts, übe noch einmal')}
	if(r==1){alert('du musst noch einaml üben')}
	if(r==2){alert('da geht noch mehr')}
	if(r==3){alert('du solltest och etwas üben')}
	if(r==4){alert('das nächste mal vielleicht')}
	if(r==5){alert('sehr gut, du hast alle Aufgaben richtig gelöst')}
}
	if(r+f==5){onclick=zurück}
}
	function zurück()
{
	document.rechnen.richtig.value=""
	document.rechnen.falsch.value=""
}










</script>








	
		<font color ="red"> <h2 align = center>  Kopfrechentrainer  </h2> </font>
		<br>
		<p align = center> <b>  
		Du kannst hier Multiplikationsaufgaben üben. <br>
		Beim Klicken auf den Button werden dir dir nacheinander 5 Aufgaben gestellt.
		</p> </b>
		<br>
		<br>
		<h1 align = center> Bereit? </h1>
		<br>
	<form name="rechnen" p align = center>
		<input type=button value="Start" onclick=random()>
		<br> <br>
		<INPUT type=text name=eingabe1 value=""> *
		<INPUT type=text name=eingabe2 value=""> =
		<INPUT type=text name=vergleich value="">
		
			<input type=button value="Kontrolle" onclick=kontrolle()>


				
		<br> <br> 
	<p align = center> <b>
		Richtig gelöst <------------> Falsch gelöst
	</b> 
		<br> <br>
		<INPUT type=text name=richtig value=""> 
		<INPUT type=text name=falsch value="">
	<br> <br>
		
	</form /p>>










	</body>
</html>

An sich Funktioniert erstmal alles so wie es soll, jedoch besteht das Problem darin das wenn ich in das Textfeld um ein neues Ergebnis einzutragen gehe, dann wird eine neue Aufgabe erstellt obwohl ich nicht auf den Button Kontrolle geklickt habe.

Ich hoffe jemand kann mir helfen, vielen dank.

Computer, HTML, programmieren, JavaScript
Wie bekomme ich den Kelch der netten Kameradschaft in Genshin Impact?

Hey^^ Ich spiele zurzeit recht regelmäßig Genshin Impact, komme allerdings an einem Auftrag nicht mehr weiter...

Es handelt sich dabei um den Weltauftrag "Tausend Jahre Millelithen". Man muss dafür sechs Opfergaben finden, davon habe ich bereits fünf gefunden, doch die letzter, der Kelch der netten Kameradschaft, fehlt mir noch...

Ich habe mich schon im Internet umgesehen und so herausgefunden, dass man zu diesem Lager der Schatzräuber gehen muss, dort die Schatzräuber besiegen muss und dann einen neuen Auftrag namens "ins Feindeslager geschlichen" erhält. Also bin ich dort hingegangen und habe die schatzräuber besiegt, doch irgendwie habe ich diesen Auftrag nicht erhalten... Ich bin mir ganz sicher, dass das der richtige Ort war und ich wirklich alles Schatzräuber besiegt habe... auch habe ich genau in meinen ganzen anderen Aufträgen nach dem einem Auftrag gesucht, habe ihn aber nicht gefunden...

Was habe ich falsch gemacht, wenn überhaupt? Muss ich vielleicht ein bestimmtes Abenteuerlevel haben? Oder vorher noch einen anderen Auftrag abschließen? Woran könnte das liegen?

Ich würd mich wirklich sehr um eine Antwort freuen^^ Immerhin nervt mich dieser Auftrag schon seit langem TwT xD Danke sehr fürs Lesen^^ Ihr seid alle wunderbare Menschen und einfach wunderschön^^ Sorry, aber ich musste das mal sagen, ich finde, dass man das wirklich zu selten gesagt bekommt! Also, noch einen schönen Tag euch und vieeele Grüße^^

PS: Falls es weiterhilft, könnt ihr mich auch persönlich anschreiben und ich gebe euch meine Genshin Impact UID^^

Computer, Technik, Auftrag, Spiele und Gaming, Genshin Impact, Genshin impact expedition

Meistgelesene Beiträge zum Thema Computer